站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题很奇怪的一道题,希望大家帮忙看看是怎么回事

很奇怪的一道题,希望大家帮忙看看是怎么回事

摘要: 很奇怪的一道题,希望大家帮忙看看是怎么回事



以下代码执行的结果是4,不知道为什么,请大家帮我解答一下,谢谢

public class T3 {
private static int j=0;
private static boolean methodB(int k){
j+=k;
return true;
}

public static void methodA(int i){
boolean b;
b=i-#60;10|methodB(4);
b=i-#60;10||methodB(8);
}
public static void main(String args[]){
methodA(0);
System.out.println(j);
}
}




因为逻辑运算符“||”是俗称的短路运算符。


主要是在这句: b=i-#60;10||methodB(8);这是个或操作,因为你的i是0,那么i-#60;10已经为真了,不管后面是0还是1,b都为真了,所以实际上后面那个表达式实际上没有执行
你这样写就行了:b = methodB(8) || i -#60; 10 ;


↑返回目录
前一篇: DataInputStream的readUTF()
后一篇: 如何得到当前时间后一段时间