Java 位运算和逻辑运算的区别

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
		}
	}
}

  

原文地址:https://www.cnblogs.com/jinc/p/2934029.html