class C {
public static void main(String[] args) {
int i = 1;
boolean b = false;
if(b && ++i == 2) {
System.out.print(“first ” + i);
} else {
System.out.print(“second ” + i);
}
}
}
打印结果为什么是 second 1
if那句里不已经++i了吗?用得还是&&
java 小题
答案:4 悬赏:60 手机版
解决时间 2021-03-10 14:08
- 提问者网友:做自己de王妃
- 2021-03-09 18:14
最佳答案
- 五星知识达人网友:归鹤鸣
- 2019-08-26 16:41
这里主要是"&&"的问题."&&"和"&"是不同的.
"&&"的时候,如果左边为false的话,那么右边就不执行了;如果左边为true那么右边还是会执行的.
"&"的时候,不管你左边为true还是false,右边都会执行.
在你的代码当中是"&&"而且左边b为false,所以右边不执行(++i==2不执行),直接跳到
} else {
System.out.print(“second ” + i);
}
中,此时i还是原来的1.
"&&"的时候,如果左边为false的话,那么右边就不执行了;如果左边为true那么右边还是会执行的.
"&"的时候,不管你左边为true还是false,右边都会执行.
在你的代码当中是"&&"而且左边b为false,所以右边不执行(++i==2不执行),直接跳到
} else {
System.out.print(“second ” + i);
}
中,此时i还是原来的1.
全部回答
- 1楼网友:狂恋
- 2020-09-21 18:22
呵呵,我给你讲讲与&&和或||的关系,你就明白了
java中明确规定:
与&&,当&&两边的变量或者表达式,如果前面一个是假的话,后面的肯定不会执行,如果前面一个是真的话,后面的肯定会执行。
或||,当签名一个为真的时候,后面的就不用执行,前面一个为假的时候,才会执行后面的一个。
我想,我这里的真假,不用再给你解释是什么意思了吧。
- 2楼网友:長槍戰八方
- 2019-09-03 01:10
B是FALSE && 是截断的 当有一个FALSE 往后就不做判断了! 好好看看JAVA基础
- 3楼网友:洎扰庸人
- 2019-12-24 05:51
a
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯