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 悬赏:30 手机版
解决时间 2021-12-16 14:39
- 提问者网友:暖心时光
- 2021-12-15 22:13
最佳答案
- 五星知识达人网友:心里无人自有人
- 2021-12-15 23:07
这里主要是"&&"的问题."&&"和"&"是不同的.
"&&"的时候,如果左边为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楼网友:荒芜国度
- 2021-12-16 01:33
呵呵,我给你讲讲与&&和或||的关系,你就明白了
java中明确规定:
与&&,当&&两边的变量或者表达式,如果前面一个是假的话,后面的肯定不会执行,如果前面一个是真的话,后面的肯定会执行。
或||,当签名一个为真的时候,后面的就不用执行,前面一个为假的时候,才会执行后面的一个。
我想,我这里的真假,不用再给你解释是什么意思了吧。
- 2楼网友:是只坏兔子
- 2021-12-16 00:39
B是FALSE && 是截断的 当有一个FALSE 往后就不做判断了! 好好看看JAVA基础
- 3楼网友:灼灼桃花仙
- 2021-12-15 23:54
a
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯