⑴ 在java中if条件里的与运算符
&是逻辑与,它的执行是,先判断左边的,不管是false还是true,都还要判断右边的。也就是两边的表达式都要判断。
&&是短路与,如果左边为false,就不再判断右边的。否则,才去判断右边的。
一般都用&&比较多。
⑵ java中的短路与(&&)、短路或(||) 与 逻辑与(&)、逻辑或(|)有什么区别啊
首先名称是不同的:
&&逻辑与||逻辑或它们都是逻辑运算符
&按位与|按位或它们都是位运算符
if(a==1&&b==2)这是说既要满足a=1也要满足b=2
if(a==1||b==2)这是说或者满足a=1或者要满足b=2
而a&b或者a|b则是二进制的与或运算
&同为1时为1,否则为0
|同为0时为0,否则为1
3&5则
0011
&0101
0001
等于1
3|5则
0011
|0101
0111
等于7
&&逻辑与也叫做短路与因为只要当前项为假,它就不往后判断了,直接认为表达式为假
||逻辑或也叫做短路或因为只要当前项为真,它也不往后判断了,直接认为表达式为真