java中|与||,&与&&到底有什么区别呢?

&是位运算符。&&是布尔逻辑运算符。
在运行上,&两边的条件都要判断(不管前面的是ture还是false),而&&先判断前面的,若为false,则后面的不再判断。

在java中,很多人都不知道&与&&,|与||的区别。

&,&&:(与,短路与):一样的地方就是二者执行最后的结果是一样的,但是执行的过程有区别,

对于&:无论&左边是否为false,他都会继续检验右边的boolean值。

对于&&:只要检测到左边Boolean值为false时,就会直接判断结果,不会在检验右边的值(因为"与"有一个false最后结果就是false了)

所以&&的执行效率更高,所以一般都是使用&&.

|与||之间也是同样的道理,|:无论左边是否为ture,都会检验右边 ,||:则不会。||  的执行效率会更高

posted @ 2016-09-18 14:10  atzuge  阅读(288)  评论(0编辑  收藏  举报