为了账号安全,请及时绑定邮箱和手机立即绑定

为什么以下代码只输出4行"我看不见我看不见我看不见",输出不应该是8行代码吗?

public class Foryunsuan {
    public static void main(String[] args) {
        int i = 1;
        for(;i!=5&&i<10;){
            System.out.println("看不见看不见看不见");
            i++;
        }
    }
}


正在回答

1 回答

我认为这要分两个步骤分析:

  1. 比较运算符“!=” 是在(i = 5;i != 5)时输出结果false。for循环中最后一步执行i++,i++是先赋值在+1在执行第四个循环的时候i的值为5,第五个循环开始时进入比较运算符的判断即(i = 5;i ! = 5)此时输出结果为false。

  2. 逻辑运算符中“&&”有”短路“现象,即如果左边运算结果为false时,则系统就认为已经没有必要执行右侧了。此代码中当比较运算符“!=”判断结果为false时即(i = 5;i != 5)时满足此条件,则停止运行,所以出现四行结果。

    不知分析的是否正确,若哪里有不足或错误欢迎指出。

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么以下代码只输出4行"我看不见我看不见我看不见",输出不应该是8行代码吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信