java中&与&&的区别是什么?小编来告诉你,请看下文。
最简单的区别是,&无论str != null 是否为true,程序都会执行,而&&只有在str != null 为true时,程序才会执行,为false时,程序处于短路状态。
&左右两边有一个符号为false时,结果为false,两边符号都为true时,结果才为true。而&&只要左边的符号为false,那么结果就是false,右边的符号为true,结果就是true。
&无论左边是否为false,它他都会检验右边的boolean值,而&&只要检测到左边的boolean值为false,就不会再检测右边的boolean值。
总的来说&&执行效率要比&高一些,也更准确一些,所在在编写程序时,&&的使用率要比&高。