逻辑运算符

(一)短路与&&:当两个条件都为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

 

posted @ 2022-02-02 14:56  捞月亮的渔夫  阅读(174)  评论(0)    收藏  举报