public class TestA {
public static void main(String[] args){
for(int i = 1; i < 4; i++){
for(int j = 1; j < 4; j++){
if(i * j >2)
break;
System.out.println(i * j);
}
System.out.println(i);
}
}
}
输出
1
2
1
2
2
3
为什么输出的结果是那样的?
public class TestB {
public static void main(String[] args){
for(int i = 1; i < 4; i++){
for(int j = 1; j < 4; j++){
if(i * j >2)
continue;
System.out.println(i * j );
}
System.out.println(i);
}
}}
两者输出的结果是一样的?那么两者之间的区别到底在哪里呢?
输出结果和你的是一样的,只不过加了点注释;
i=1
j=1;i * j=1
j=2;i * j=2
i=2
j=1;i * j=2
i=3
首先这是两层循环
外层循环执行的条件是,i<4,i的初始值为1,
step1:i=1;
然后执行里层循环,执行条件是,j<4,j的初始值为1,
step2:j=1,
执行里层循环中的if代码,执行条件是,当i*j>2的时候执行,break的意思是跳出当前循环,也就是跳出里层循环,
step3:i*j=1*1=1 不大于2,所以继续执行里层循环,此时,j要执行j++代码
step4:j++ 意思为j在原来的基础上加1
以此类推……
本回答被提问者和网友采纳