Java中运算符 “|” 和 “||” 以及 “&” 和 “&&” 区别
|
运算符:不论运算符左侧为true还是false,右侧语句都会进行判断,如下代码:
左侧为int a = 1, b = 1; if (a++ == 1 | ++b == 2) { System.out.println("true"); } System.out.println("a= " + a + " ,b= " + b);
true
,右侧为true
,输入出结果为:true a= 2 ,b= 2
||
运算符:若运算符左边为true,则不再对运算符右侧进行运算,如下代码:
左侧为int a = 1, b = 1; if (a++ == 1 || ++b == 2) { System.out.println("true"); } System.out.println("a= " + a + " ,b= " + b);
true
,所以没有判断运算符右侧语句,输出结果为:true a= 2 ,b= 1
&
运算符 与|
运算符 类似:不论运算符左侧为true还是false,右侧语句都会进行判断,如下代码:int a = 1, b = 1; if (a++ == 2 & ++b == 2) { System.out.println(true); } else { System.out.println(false); } System.out.println("a= " + a + " ,b= " + b);
&
运算符左侧为false
,单依然会运行右侧语句输出为:false a= 2 ,b= 2
&&
运算符 与||
运算符 类似:若运算符左侧为false则不再对右侧语句进行判断,如下代码:
输出结果:int a = 1, b = 1; if (a++ == 2 && ++b == 2) { System.out.println(true); } else { System.out.println(false); } System.out.println("a= " + a + " ,b= " + b);
false a= 2 ,b= 1