***逻辑单与和逻辑双与的区别:***
相同点:都是有false则false
不同点:当时符号位&&时,左边为false,则右边不执行(扩展的逻辑运算符的短路效果)
例:
int x=3,y=4;
boolean flag= ((++x==x)&&(y++==y))
//也可以写成 boolean flag= x++==x&&y++==y;(运算优先级)
System.out,println(x); //4
System.out,println(y); //4
System.out,println(flag); //false
同理可得:逻辑单或和逻辑双或:
相同点:都是有true则true
不同点:当时符号位||时,左边为true,则右边不执行(扩展的逻辑运算符的短路效果)
int x=3,y=4;
boolean flag= ((x++==x)||(y++==y))
System.out,println(x); //4
System.out,println(y); //4
System.out,println(flag); //false