每次都因为逻辑运算符导致程序bug,所以专门整理一下击中逻辑运算符的区别: &—逻辑与 | —逻辑或 && —短路与 || —短路或 首先谈谈: &—逻辑与 和 & &— 短路与 1 int i1 = 10; 2 boolean b = false; 3 if (b & (i1++) > 0) { 4 System.out.println("今天天气不错!"); 5 } else { 6 System.out.println("今天又龙卷风!"); 7 } 8 System.out.println("i1 is :" + i1); 9 //输出结果: 今天又龙卷风! i1 is :11 10 11 int i2 = 10; 12 if (b && (i2++) > 0) { 13 System.out.println("今天天气不错!"); 14 } else { 15 System.out.println("今天又龙卷风!"); 16 } 17 System.out.println("i2 is :" + i2); 18 //输出结果:今天又龙卷风! i2 is :10 总结: 1、 &— 逻辑与和 &&— 短路与的执行结果是一致的。 2、 &— 逻辑与:无论左边的运算为 true 还是 false。右边都将继续执行。 3、 &&— 短路与:当左边运算为