public class Test { public static void main(String[] args) { // 逻辑运算符执行的是短路求值,当左边操作数可以推断出表达式的值,就不再执行 了 int x, y = 10; if (((x = 0) == 0) || ((y = 20) == 20)) { System.out.println(y);// 输出10 } // 位操作运算不管值是如何,任何参与运算的表达式都会被执行求值 int a, b = 10; if (((a = 0) == 0) | ((b = 20) == 20)) { System.out.println(b);// 输出20 } } }