短路与和逻辑与

  • 基本规则

短路与&&  条件1&&条件2  两个条件都为true,结果为true,否则为false

逻辑与&   条件1&条件2    两个条件都为true,结果为true,否则为false

  • 区别
  1. 短路与&&:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高
  2. &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低
  3. 短路或||:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
  4. |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低

//区别

//        int a = 4;
//        int b = 9;
//        if (a < 1 && ++b < 50) {
//            System.out.println("ok3");
//        }
//        System.out.println("a="+ a +"b=" + b);
//
//        if (a < 1 & ++b < 50) {
//            System.out.println("ok4");
//        }

//        System.out.println("a="+ a +"b=" + b);
        //对于短路与第一个条件为false,后面的条件不在执行和判断
        //对于逻辑与第一个条件为false,后面的条件会继续执行和判断

//(1)||短路或:如果第一个条件为true
        //则第二个条件不会判断,最终结果为true,效率高
        //(2)|逻辑或:不管第一个条件是否为true
        //第二个条件都要执行

//        int a = 4;
//        int b = 9;
//        if( a > 1 || ++b > 4) {
//            System.out.println("ok4");
//        }
//        System.out.println("a=" + a + "b=" + b);
//
//        if( a > 1 | ++b > 4) {
//            System.out.println("ok5");
//        }
//        System.out.println("a=" + a + "b=" + b);
  • 异或^

a^b  当结果a和b不同时,结果为true,否则为false

补充应用:

  1. 将两个变量的值进行交换
int a =1;
int b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println(a);//2
System.out.println(b);//1

2.寻找出现一次的数(时间复杂度为O(n))

int[] a = {2, 3, 3, 4, 4, 6, 7, 7};
int l = a.length;
int eor=0;
int i;
for(i=0;i<l;i++)
{eor^=a[i];
}
int rightone=eor&(~eor+1);//提取最右侧的1int onlyone=0;//eor'
int cur;
for(i=0;i<l;i++){cur=a[i];if((cur&rightone)==0){onlyone^=cur;}
}
System.out.println(onlyone);
System.out.println(onlyone^eor);

若文章内容错误,希望大家帮忙指正

java 逻辑运算符(韩顺平)相关推荐

  1. 【零基础 快速学Java】韩顺平 p104-147 流程控制:顺序、分支、循环、跳转 控制语句 (if、for、while、dowhile、break、continue、return)

    课程 p104-147 流程控制介绍 在程序种,程序运行的流程控制决定程序是如何执行的. 主要有三大流程控制语句: 顺序控制 分支控制 循环控制 顺序 简单理解就是从头到尾. 分支控制if-else ...

  2. 韩顺平 2021零基础学Java 学习笔记

    韩顺平 2021零基础学Java 学习笔记(1)(自用)_丨shallow丨的博客-CSDN博客_韩顺平java笔记 韩顺平 2021零基础学Java 学习笔记(2)(自用)_丨shallow丨的博客 ...

  3. 非零基础自学Java (老师:韩顺平) 第10章 面向对象编程(高级部分) 10.6 抽象类

    非零基础自学Java (老师:韩顺平) ✈[[零基础 快速学Java]韩顺平 零基础30天学会Java] 第10章 面向对象编程(高级部分) 文章目录 非零基础自学Java (老师:韩顺平) 第10章 ...

  4. Java基础易忘重点内容笔记【附B站韩顺平老师课程链接】

    B站课程链接:https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.999.0.0 1. 文档注释 用于对Java方法的注释,可据此生 ...

  5. Java学习(java基础)-韩顺平老师

    一.简单介绍 1.jdk.jre 2.Java代码规范 a.类.方法的注释,要以javadoc的方式来写 /** *@author:楠小弟 *@version:1.0 */ public class ...

  6. 韩顺平循序渐进学java 第21.22.23.24讲 集合

    21.1 引出问题 一个问题? 前面我们学习了数组,充分体会到数组的优越性,就是可以存储同一类型的数据,但是我们假设有这样的需求,大家看看如何解决? 请做一个公司职员薪水管理系统,要求完成如下功能: ...

  7. 韩顺平 2021零基础学Java 学习笔记(2)(自用)

    目录 第 10 章 面向对象编程(高级部分) 第 11 章 枚举和注解 第 12 章 异常-Exception 第 13 章 常用类 第 10 章 面向对象编程(高级部分) 10.1 类变量和类方法 ...

  8. 适合有编程基础的人看的《韩顺平零基础30天学java》笔记(P104~P129)

    写在最前边: 研究生一枚,为后端实习和未来工作打基础.无意间发现韩顺平老师的课程,细心细致,讲课和吴恩达老师一样,都是保姆式讲解,各种基础知识都会补充,爱了. 韩顺平老师课程地址:https://ww ...

  9. JAVA IO流(韩顺平)

    目录 一.文件 1.1 什么是文件 1.2 文件流 二.常用的文件操作 2.1 创建文件对象相关构造器和方法 2.1.1 代码实现 2.2 获取文件的相关信息 2.2.1 代码实现 2.2.2 相对路 ...

  10. 网沙(爱玩啥)韩顺平.循序渐进学.java.从入门到精通系列视频分享

     网沙(爱玩啥)韩顺平.循序渐进学.java.从入门到精通系列视频分享 韩顺平.循序渐进学.java.从入门到精通.第0讲-开山篇 韩顺平.循序渐进学.java.从入门到精通.第1讲-内容介绍.项 ...

最新文章

  1. 零基础学python这本书怎么样-看了这本基础教程的书籍你还担心你的python学不好吗?...
  2. Linux与Windows比较出的20个优势
  3. Tomcat之Windows下安装
  4. CentOS 7.2安装Jenkins自动构建Git项目
  5. Python笔记-获取某百科页面所有URL(提取某百科所有URL)
  6. 002-一般处理程序(HttpHandler)
  7. 京东商品价格查询易语言代码
  8. ApolloStudio高手之路(12):机器视觉图像匹配定位与激光打标领域深度结合(基于海康威视VisionMaster九点标定、模板快速匹配定位、标定转换以及金橙子EzCad2二次开发)
  9. 魔兽8.0最新服务器人口普查,魔兽世界8.2最新人口普查 2019各服务器人口普查信息汇总...
  10. 【读书笔记】好好思考-成甲
  11. JAVA 接口(interface)
  12. ubuntu petalinux 2018 安装操作说明
  13. SpringBoot集成网易企业邮箱,亲测可用
  14. Ubuntu系列:Ubuntu安装deepin wine QQ, 微信...
  15. XGBoost的参数介绍及调参
  16. 如何配置数据库密码加密访问数据库
  17. 二年级上册计算题_2015年二年级上册数学期末考试卷
  18. 好厉害!30 行代码实现蚂蚁森林自动收能量
  19. android MMS接受因联网被拒失败分析
  20. 李国杰:保持青年人的朝气和勇气

热门文章

  1. 15-DOM 事件流(事件冒泡)
  2. Google AutoML图像分类模型 | 使用指南
  3. Duan2baka的KMP模板!
  4. 第十一课:树莓派语音控制空调
  5. luogu1847 轰炸II
  6. pygame落球游戏优化
  7. Endnote参考文献分享与导入
  8. requests库和beautifulsoup爬取豆瓣书本数据并存入excel
  9. ElasticSearch实战系列五: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合
  10. whoami - 打印当前有效的用户名称