逻辑运算符
(一)短路与&&:当两个条件都为true时,结果为true;否则为假
(二)逻辑与&:当两个条件都为true时,结果为true;否则为假。
逻辑与(&)和短路与(&&)的区别:
两者的区别在于当第一个条件为假的时候, 第二个条件是否会执行。
短路与(&&):如果第一个条件为flase,则第二条件不会判断,最终结果为flase;效率高
int age = 5;
int score = 10;
if (age > 20 && ++score < 90) { //&&,如果第一个条件不满足,不会去执行第二个条件;
System.out.println("你的年龄不符合");
}
System.out.println("age="+age+"score="+score);
逻辑与(&):不管第一个条件是否为flase,第二个条件都要判断,效率低。
int age = 5;
int score = 10;
if (age > 20 & ++score < 90) { //&,如果第一个条件不满足,仍会去执行第二个条件;
System.out.println("你的年龄不符合");
}
System.out.println("age="+age+"score="+score);
在日常开发中,我们使用的基本是短路与,效率高
(三) 逻辑或 | 只要一个条件成立,结果为true,否则为flase;
短路或 || 两个条件中只要有一个条件为true时,结果为itrue,否则为flase
|| 、| 两者的区别
短路或 ||: 如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
逻辑或 |:不管第一个条件是否为true,第二个条件都要判断,效率低;
(四) 异或运算
// a ^ b :叫逻辑异或,当 a和b不同时,则结果为true,否则为flase
boolean a =(10>1)^(2>5);
System.out.println("a="+a);//a=true

浙公网安备 33010602011771号