关于java中for循环嵌套的问题。

请大家看下面一段代码是什么意思,是关于for循环嵌套的问题!inti,j,k;for(i=0;i<2;i++)for(j=0;j<2;j++)for(k=0;k<2;k+... 请大家看下面一段代码是什么意思,是关于for循环嵌套的问题!
int i,j,k;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
{
循环体
}
我想问一下关于其中的for循环该怎么解释啊?
我所不懂的是为什么当k执行了两次循环之后会重新变成0,希望大家能解答我这个问题!谢谢
展开
 我来答
godcomexxx
2009-09-11 · TA获得超过1205个赞
知道小有建树答主
回答量:651
采纳率:0%
帮助的人:580万
展开全部
大侠们说了很多,不知道楼主是否明白
我再解释一下
首先
1、为什么k执行了两次后会重新变成0
因为你可以看出,这里使用了三层循环
也就是for循环了三层
而k=0;k<2;k++在最里面,也就是
j=0;j<2;j++
当j从0开始,那么要执行里面的代码,也就是for(k=0;k<2;k++)
当for(k=0;k<2;k++)执行完成后,往上一级回看,这个时候没有满足j>=2,那么就继续执行,也就是j++,然后在执行for(k=0;k<2;k++)
这样反复执行
直到j>=2为止,那么for(k=0;k<2;k++)在往上一级回看,看i是否大于等于2
如果是的话那么将结束循环,不是的话,将继续执行for(j=0;j<2;j++),因为执行了for(j=0;j<2;j++),那么他要执行下面的话,也就是for(k=0;k<2;k++)
这个时候k又被赋值为0

讲了一下,才发现很简单的东西想要说的清楚其实也不容易,老师辛苦啦
杰比·优德尔
2009-09-10 · TA获得超过243个赞
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
for循环三层嵌套。先从最外面一层for循环一次快速进入最里层for循环,到达最里层for循环时,i=0,j=0,然后在从最里层for循环一步一步跳出来。也就是说,最外层for循环要循环2次,每循环一次,中间的for循环要循环2次;而中间的for循环每循环一次,最里层的for循环也要循环2次,所以,这个嵌套的for循环总共的循环次数为8次!
补全代码看看结果吧。
int i,j,k,n;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
{
n++;
System.out.println("这是第"+n+"次循环");
System.out.println("i="+i);
System.out.println("j="+j);
System.out.println("k="+k);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiangsiwuchang
2009-09-11 · TA获得超过337个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:516万
展开全部
外面循环体循环一次,里面就依次循环完,然后再到外面再循环:
例如循环顺序是:
int i, j, k;
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++) {
System.out.println("i" + i + "..j" + j + "..k" + k);
}
你说不懂k循环两次变成0?那是以为K循环两次后循环结束,又继续循环j,j在循环中又重新循环k! 如果再不明白,我也不知道怎么说了!嘴巴笨,该多锻炼了!呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a4b0f4b
2009-09-11
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
k变0是因为它执行了两次后,一次循环结束,就会退回上一层,也就是j那一层。对j加1后又重新开始了一次k的循环,k又要从0到1,所以k又变0了。就像我下面说的例子,你查完1区1楼后去查2楼,又要从2号楼的第1家查起,也就是k有变成了0,就是k的第一个值.因为没有第0户,不然从第0户开始查,再把10改成2,就和你的那个循环一模一样了。

这是一个3重循环。举个例子来说明。比如说有10个小区,毎个小区有10幢楼,每一幢楼有10户人家。你要找一个人,在这10*10*10 =1000户人家里的某一户,就要从1区找到10区,又要从每个区的1号楼找到10号楼,又要从每幢楼的1户找到10户。你就必须从第一区第一楼第一户的人家找起,它就是这样一个模型。你仔细想一下就可以明白。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenjingjun
2009-09-10 · TA获得超过108个赞
知道答主
回答量:222
采纳率:0%
帮助的人:128万
展开全部
如果连循环2都理解不了的话...我不太适合做理性分析的工作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友388688327
2009-09-10 · TA获得超过1053个赞
知道小有建树答主
回答量:1297
采纳率:0%
帮助的人:967万
展开全部
你在里面把它们三个的值打印出来就知道了。
0,0,0
0,0,1
0,1,0
0,1,1
1,0,0
1,0,1
1,1,0
1,1,1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式