荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: heiheihei (瓦尔特), 信区: Java
标 题: java手记(3)--短路
发信站: 荔园晨风BBS站 (Fri Nov 9 11:42:37 2001), 转信
java手记(3)--短路
瓦尔特
java的逻辑运算有时会出现短路的现象
例子程序:
//ShortCircuit.java
public 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("test1("+val+")");
System.out.println("result: "+(val<3));
return val<3;
}
public static void main(String[] args)
{
if(test1(0)&&test2(2)&&test3(2))
System.out.println("expression is true");
else
System.out.println("expression is false");
}
}
结果:C:\myjava>javac ShortCircuit.java
C:\myjava>java ShortCircuit
test1(0)
result: true
test2(2)
result: false
expression is false
由此可以看出,布尔运算并没有完全执行结束就得到了式子的结果.因为只要与运算中有
一个项是0,则式子的结果就一定为0.这就是逻辑运算重的短路现象.这对java程序的性能
潜在的提升是很大的.
瓦尔特学自thinking in java
--
世界上没有任何话能说服你,除非它是你心中的那一句。
世界上没有任何人能打动我,除非她是我心中的那一个。
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 202.118.1.82]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店