永发信息网

java for循环:当有两层嵌套for循环的时候是不是外循环执行一次,内循环要执行一遍啊?

答案:5  悬赏:0  手机版
解决时间 2021-12-29 21:22
  • 提问者网友:欺烟
  • 2021-12-29 10:46
从9*9乘法表来看是这样子理解的,当外循环i=1,内循环j=1,就输出1*1=1;当该结果输出后,内外循环都自增1,这时候继续循环应该是:外循环i=2,内循环j=2,应该输出2*2=4呀,为什么不是这种结果呢?
public class First {

public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j= 1;j<=9;j++){
if(j>i){
break;
}
System.out.print(" "+i+"*"+j+"="+i*j);
}
System.out.println();
}

}

}
最佳答案
  • 五星知识达人网友:第幾種人
  • 2021-12-29 11:51
你这个小程序不错哦;你看一下啊,
1、执行外层第一遍,i=1,内层第一遍,j=1,内层第二遍,j=2,但是j>i了,所以执行break跳出到外循环,第二遍也就相当于没有执行,跳出执行第二遍外循环
2、执行外层第二遍,i=2,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,但是j>i了,所以执行break跳出到外循环,第三遍也就相当于没有执行,跳出执行第三遍外循环
3、执行外层第三遍,i=3,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,内层第四遍,j=4,但是j>i了,所以执行break跳出到外循环,第四遍也就相当于没有执行,跳出执行第四遍外循环
4、、、、、、、、
依次执行下去,直到 i 〉9不成立了,外循环结束……
也就是说,外循环的 i 等于几,相对应的本次循环的内循环就执行几遍……
全部回答
  • 1楼网友:舊物识亽
  • 2021-12-29 17:20
for(int j= 1;j<=9;j++){ if(j>i){ break; } 这段代码改成 for(int j= 1;j<=i;j++){ 是不是更简洁
  • 2楼网友:鸽屿
  • 2021-12-29 16:03
不是 你这个是外面一次 里面好几次呢
  • 3楼网友:慢性怪人
  • 2021-12-29 14:34
对的,拿你这题·来说当i=1时,j要从1到9循环一遍 ,后面每个i都是一样的
  • 4楼网友:酒醒三更
  • 2021-12-29 13:05
for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(" "+j+"*"+i+"="+i*j); } System.out.println(); } 可以这样写,利用外面的循环来控制里面的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯