最近再次阅读《Java编程思想》此书,发现逻辑运算符这里讲解"短路"现象的示例很好,特此记录下来,以供之后经常阅读。代码如下:
public class TestJava {
public static void main(String[] args) {
System.out.println("----------&&的短路测试----------");
boolean a = ShortCircuit.test1(0) && ShortCircuit.test2(2) && ShortCircuit.test3(1);
System.out.println("a:" + a);
System.out.println("----------||的短路测试----------");
boolean b = ShortCircuit.test1(1) || ShortCircuit.test2(1) || ShortCircuit.test3(4);
System.out.println("b:" + b);
}
}
class ShortCircuit {
static boolean test1(int val) {
System.out.println("test1(" + val + ")");
System.out.println("result:" + (val < 1));
return val < 1;
}
static boolean test2(int val) {
System.out.println("test2(" + val + ")");
System.out.println("result:" + (val < 2));
return val < 2;
}
static boolean test3(int val) {
System.out.println("test3(" + val + ")");
System.out.println("result:" + (val < 3));
return val < 3;
}
}
运行结果如下:
----------&&的短路测试----------
test1(0)
result:true
test2(2)
result:false
a:false
----------||的短路测试----------
test1(1)
result:false
test2(1)
result:true
b:true
博主重读《Java编程思想》,记录书中逻辑运算符“短路”现象的示例代码。代码包含&&和||的短路测试,通过不同方法返回布尔值进行验证,并给出了运行结果,有助于理解Java逻辑运算符的短路特性。
1166

被折叠的 条评论
为什么被折叠?



