&& 这两个被称为 "断路与"
& 这两个就是非
以||和|解释下:
断路执行效率更高一点.
假设if(a==b||c==d) 满足这个条件才进入if. 的时候,会先判断断路符号左边的. 如果左边的满足,才会再判断断路符号右边的. 也就是说,当a!=b的时候. 直接就等于false了. 而非断路符号的"|",不管左边是true还是false,都会执行右边的.然后再通过整个表达式判断最终结果. 所以执行效率高. "断路与"也是同样的道理。
请看如下例子
例如:
class A{
public static void main(String args[]){
boolean b;
int i=0,j=0;
b=i++>0&&++j>0;
System.out.println("b="+b+"i="+i+"j="+j);
i=j=0;
b=i++>0&++j>0;
System.out.println("b="+b+"i="+i+"j="+j);
}
}
答案输出:
b=falsei=1j=0
b=falsei=1j=1
[ 本帖最后由 王海飞 于 2011-07-17 22:24 编辑 ] |