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

二重循环有点模糊

谁能帮我解释一下二重循环

for (int i = 0; i <names.length; i++) {

            

for (int j = 0; j < names[i].length; j++) {

                

System.out.println(name[i][j]);

}

            

System.out.println();

}


正在回答

3 回答

names.length 代表行数

names[i].length 代表第i行的列数

for (int i = 0; i <names.length; i++) { //控制 第几行
            
    for (int j = 0; j < names[i].length; j++) {//打印第i行的第几列
                
	System.out.println(name[i][j]);
			}
            
    System.out.println();//每一行输出完毕后换行
}

//第一次循环完毕,i<names.length 该条件仍满足,进行第二次循环,直到满足为止。
//数组从0开始计数,i<names.length 满足即遍历完毕。
//总的来说,第一个for就是先确定第几行,第二个for负责遍历该行的数据。

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

外面的循环执行一次,内部的循环执行一圈。

也就是当外循环 i=0 的时候,进入内部循环,要从 j=0 一直执行到 j=names[0].length。

一圈的意思就是从j的初始值到循环结束,然后跳出内循环,返回外循环。

然后 i=1,继续进入内循环,内循环还是要执行一圈再跳出来到外循环。

依此类推直到外层循环也终止,二重循环就结束了。

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

外层循环第一次,i=0开始,

进入内层循环第一次循环,j=0开始,输出第i行,第j列元素,也就是【0】【0】位置的元素,

开始内层循环第二次循环,j++,j=1,输出第i行,第j列元素,也就是【0】【1】位置的元素,

内层循环一直j++,直到不满足j<names[i].length(names[i].length是第i行的长度,也就是有几列),退到外循环,

外层循环第二次,i++,i=1,

进入内层循环第一次循环,j=0开始,输出第i行,第j列元素,也就是【1】【0】位置的元素,

开始内层循环第二次循环,j++,j=1,输出第i行,第j列元素,也就是【1】【1】位置的元素,

内层循环一直j++,直到不满足j<names[i].length退到外循环,

外循环一直到不满足i<names.length(names.length是有几行),二重循环结束

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1166225    人
  • 解答问题       17590    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

二重循环有点模糊

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