public static void main(String[] args) {
int m = 10, n = 5, i = 0, j = 0;
// 逻辑与 &
// 如果其中一个为false,那么结果为false,但是后面代码依旧会执行
System.out.println("逻辑与:"+(n > m & i++ > j));
System.out.println(String.format("i=%d,j=%d",i,j));
// 执行结果:
//逻辑与:false
//i=1,j=0
// 逻辑或 |
// 如果其中一个为true,那么结果为true,但是后面代码依旧会执行
System.out.println("逻辑与:"+(n < m | i++ > j));
System.out.println(String.format("i=%d,j=%d",i,j));
// 执行结果:
//逻辑或:true
//i=1,j=0
// 短路与 &&
// 如果其中一个为false,那么结果为false,但是后面代码不会执行(i++ > j没有执行)
System.out.println("逻辑与:"+(n > m && i++ > j));
System.out.println(String.format("i=%d,j=%d",i,j));
// 执行结果:
//逻辑与:false
//i=0,j=0
// 短路或 ||
// 如果其中一个为true,那么结果为true,但是后面不会执行(i++ > j没有执行)
System.out.println("逻辑与:"+(n < m || i++ > j));
System.out.println(String.format("i=%d,j=%d",i,j));
// 执行结果:
//逻辑或:true
//i=0,j=0
}
逻辑与(&),或(|)和短路与(&&),或(||)区别
最新推荐文章于 2024-07-27 13:31:57 发布