为什么双重for循环中i=0 j=0 i<j是true 0<0就是false呢?

为什么双重for循环中i=0 j=0 i<j是true 0<0就是false呢?

for(int i=0; i<999;i++){
    for (int j = 0; j < i; j++) {
        System.out.println(j<i);//true
        System.out.println(0<0);//false
    }
}

这有什么问题呢?你的第二层循环的一个条件就是 j<i,也就是说只有 j<i时才执行println,当首次循环,i=0,j=0是,循环条件不满足,println代码是不会被执行的啊

0本来就不小于0啊 而且

for (int j = 0; j < i; j++) {
        System.out.println(j<i);//true
        System.out.println(0<0);//false
    }

for循环本来就满足 j<i之后才会执行的

所以,实际第一次执行println时,是i=1,j=0时,自然会输出true了

才疏学浅,可能有错,相互探讨,不喜勿喷。

我的理解这个循环是没有结果的..

第一轮循环:
i=0

j=0

j<i条件不成立,所以无结果。

第二轮:

i=1;

j=1;

条件依旧不成立...

按照我理解应该没显示吧

是我理解错了,第二层for是只有j<i时才会进入循环,所以第一次i的循环没有进入j的循环中,而当第二次i的循环i=1时进入j的循环中