
java高手进,双重for循环应该怎么理解!
publicclassRRR{publicstaticvoidmain(String[]args){System.out.println("九九乘法表:");for(in...
public class RRR
{
public static void main(String[] args)
{
System.out.println("九 九 乘 法 表: ");
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; ++j)
{
System.out.print(j + "*" + i + "=" + i * j + " ");
}
System.out.println("");
}
}
}
上面那个“九九乘法表”要怎么理解啊?我想问当i自增到9的时候,打印出1*9=9;那在返回for (int j = 1; j <= i; ++j) 循环时,条件为假,那它是怎么打印出2*2=4的?
能详细点说吗? 展开
{
public static void main(String[] args)
{
System.out.println("九 九 乘 法 表: ");
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; ++j)
{
System.out.print(j + "*" + i + "=" + i * j + " ");
}
System.out.println("");
}
}
}
上面那个“九九乘法表”要怎么理解啊?我想问当i自增到9的时候,打印出1*9=9;那在返回for (int j = 1; j <= i; ++j) 循环时,条件为假,那它是怎么打印出2*2=4的?
能详细点说吗? 展开
11个回答
展开全部
打印出2*2=4,条件就是i=2,j=2嘛,那么j从1开始,当i等于2时,j从1到2,(j=2)<=(i=2),这个条件成立啊,成立就能执行啊,这有什么不理解的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
j++;先本次循环在自增 。
++j;是自增在完成本次循环。
++j;是自增在完成本次循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一次循环:
当外循环开始循环时,i=1,i为1小于9,条件满足继续;现在开始内循环,j=1,j为1等于i,条件满足继续;得到s=j*i;输出得到1*1=1;返回到j++,j=2,j大于i,条件不满足,跳出内循环;执行外循环输出,换行回到i++。(在第一次循环时,内循环只执行了一次,剩下的依此类推)
执行外层第一遍,i=1,内层第一遍,j=1,内层第二遍,j=2,但是j>i了,所以执行break跳出到外循环,第二遍也就相当于没有执行,跳出执行第二遍外循环。
第二次循环:
第一次循环结束回到i++,i=2,i为2小于9,条件满足继续,现在开始内循环,j=1,j为1小于i,条件满足继续;得到s=j*i;输出得到1*2=2;返回到j++,j=2,j为2等于i,条件满足继续,得到s=j*i;输出得到2*2=4;返回到j++,j=3,j为3大于i,条件不满足,跳出内循环,执行外循环输出,换行回到i++。(在第二次循环时,内循环执行了两次,剩下的依此类推)
执行外层第二遍,i=2,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,但是j>i了,所以执行break跳出到外循环,第三遍也就相当于没有执行,跳出执行第三遍外循环。
第三次循环:
第二次循环结束回到i++,i=3,i为3小于9,条件满足继续,现在开始内循环,j=1,j为1小于i,条件满足继续;得到s=j*i;输出得到1*3=3;返回到j++,j=2,j为2小于i,条件满足继续,得到s=j*i;输出得到2*3=6;返回到j++,j=3,j为3等于i,条件满足继续;得到 s=j*i;输出得到3*3=9;返回到j++,j=4,j为4大于i,条件不满足,跳出内循环,执行 外循环输出,换行回到i++。(在第三次循环时,内循环执行 了三次,剩下的依此类推)
执行外层第三遍,i=3,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,内层第四遍,j=4,但是j>i了,所以执行break跳出到外循环,第四遍也就相当于没有执行,跳出执行第四遍外循环。
重点只要理解一句话:“嵌套for循环的执行流程是:当外面的循环执行一次,里面的循环是全部执行的。直到外循环执行完毕,整个循环结束。”
更多疑难问题欢迎添加QQ:2198983146进行咨询。
当外循环开始循环时,i=1,i为1小于9,条件满足继续;现在开始内循环,j=1,j为1等于i,条件满足继续;得到s=j*i;输出得到1*1=1;返回到j++,j=2,j大于i,条件不满足,跳出内循环;执行外循环输出,换行回到i++。(在第一次循环时,内循环只执行了一次,剩下的依此类推)
执行外层第一遍,i=1,内层第一遍,j=1,内层第二遍,j=2,但是j>i了,所以执行break跳出到外循环,第二遍也就相当于没有执行,跳出执行第二遍外循环。
第二次循环:
第一次循环结束回到i++,i=2,i为2小于9,条件满足继续,现在开始内循环,j=1,j为1小于i,条件满足继续;得到s=j*i;输出得到1*2=2;返回到j++,j=2,j为2等于i,条件满足继续,得到s=j*i;输出得到2*2=4;返回到j++,j=3,j为3大于i,条件不满足,跳出内循环,执行外循环输出,换行回到i++。(在第二次循环时,内循环执行了两次,剩下的依此类推)
执行外层第二遍,i=2,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,但是j>i了,所以执行break跳出到外循环,第三遍也就相当于没有执行,跳出执行第三遍外循环。
第三次循环:
第二次循环结束回到i++,i=3,i为3小于9,条件满足继续,现在开始内循环,j=1,j为1小于i,条件满足继续;得到s=j*i;输出得到1*3=3;返回到j++,j=2,j为2小于i,条件满足继续,得到s=j*i;输出得到2*3=6;返回到j++,j=3,j为3等于i,条件满足继续;得到 s=j*i;输出得到3*3=9;返回到j++,j=4,j为4大于i,条件不满足,跳出内循环,执行 外循环输出,换行回到i++。(在第三次循环时,内循环执行 了三次,剩下的依此类推)
执行外层第三遍,i=3,内层第一遍,j=1,内层第二遍,j=2,内层第三遍,j=3,内层第四遍,j=4,但是j>i了,所以执行break跳出到外循环,第四遍也就相当于没有执行,跳出执行第四遍外循环。
重点只要理解一句话:“嵌套for循环的执行流程是:当外面的循环执行一次,里面的循环是全部执行的。直到外循环执行完毕,整个循环结束。”
更多疑难问题欢迎添加QQ:2198983146进行咨询。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是进行2次循环,比如排序什么的,一个循环控制行,一个控制列,有不懂的话可以加:376087078----问我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询