【java|java 逻辑运算符(韩顺平)】短路与和逻辑与
- 基本规则
逻辑与&条件1&条件2两个条件都为true,结果为true,否则为false
- 区别
- 短路与&&:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高
- &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低
- 短路或||:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
- |逻辑或:不管第一个条件是否为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);
- 异或^
补充应用:
- 将两个变量的值进行交换
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
若文章内容错误,希望大家帮忙指正
推荐阅读
- 蓝桥杯|JAVA 数组专题(韩顺平)
- java|java 常用模块_Java 常见面试题的模块
- java|java input 数组_Java基础之(数组)
- java|java web中servlet详解_javaWeb之Servlet详解
- java|测试开发岗面试系列——滴滴面试题
- Elasticsearch|Elasticsearch实战之搜索项目
- kubernetes|2021超全整理,128道kubenetes高频面试题汇总(带答案)
- 数据结构|算法系列--动态规划
- java|java 动态实现数组增删(韩顺平)