1 public class Question{
2 for(int i=1;i<=5;i++){ 3 for(int j=1;j<=i;j++){ 4 System.out.print(i); 5 } 6 System.out.println(); 7 } 8 9 }
为什么第二个for循环中的 j 的值 在每次自增之又回到初始值
因为就是这么设计的。
楼下的都讲得很赞,我也决定来一个高大上的解释。
因为这段代码中
for(int j=1;j<=i;j++){ 4 System.out.print(i); 5 }
j的生命周期在j的循环结束后已结束。
下一i的时候,又开始一个新的生命周期。
换成另外一种代码就是这样的
int j=1;
while(true)
{
if(j>i){exit while;}
system.out.print(i);
j+=1;
}
因为当i+1之后,j是一个全新变量了。
每个外层循环j都从1开始
买本C程序设计,好好一行一行看
你最好,在vs里面单步调试看看!
楼主的第二个for循环:for(int j=1;j<=i;j++)这一句, 已经定义了int j=1了, 第一个for循环一遍后, 又执行了int j=1,j等于又是一个变量。 当然就是初始值了。
楼主应该弄清楚for循环是什么样的原理, 然后开调试, 一步一步走。 你就知道了。
for循环的三步走原理:
for循环(1参数初始化,2判断是否满足循环的条件,3循环一遍后更新循环变量)
{
//代码
}
楼主加油吧。
130017551 到这群里里面升级吧