为什么双重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的循环中