前言
在刚开始开始学习c或者Java时(其他不了解暂时没学习过),其中对多个变量的循环叠加在一起时(简单嵌套两个for叠加之类的),乍一看确实眼花缭乱,不清楚谁先谁后,是学习中的一大拦路虎。c和Java的循环规则类似,因此只需要弄懂其中一种即可。
一、应用场景
初步学习时,简单嵌套只会用于两个变量规律变化的叠加循环中
二、实践
以实现乘法口诀表的方法为基础理解简单嵌套。
工具用的是IDEA,不过对理解不影响。
1.运行结果
我们截取其中一段寻求规律
代码如下:
for (int i = 1; i <= 5; i++) {
System.out.print(i + "x5=" + i * 5 + "\t");//可以直接看成两个输出语句
}
System.out.println();//ln为输出后换行
再截取下面一段研究两者规律
代码如下:
for (int i = 1; i <= 6; i++) {
System.out.print(i + "x6=" + i * 6 + "\t");
}
System.out.println();
2.对比
想要实现之后的代码也是如此重复循环,变化总是那两个地方而且有规律。那么是否可以用一个循环语句实现呢?
答案是有的,我们把这个语句看成一个整体(循环体)把规律变化的量定义一个变量表示
代码如下:
for (int j = 5; j <= 6; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i + "x"+ j+"=" + i * j + "\t");//看清楚输出的是什么,从5开始到六结束依次从1开始相乘
}
System.out.println();
}
运行结果与前例一样
那么按照乘法口诀表需要重复九次再把变量改成九就行啦
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i + "x"+ j+"=" + i * j + "\t");
}
System.out.println();
}
运行结果如下:
小结
当两种循环嵌套时看不懂时有两种方法
- 把两个变量其中一个变成常数,数值调小一点,然后运行看两者差异,看循环的小循环语句的关系。
- 以结果为导向,先截取一部分,试着用单个变量多个循环语句打印出来,观察其规律,再把它看成一个循环体再用一个循环语句打印出来,把有规律变化的数值定义为变量即可。
- 明白一件事:当两个循环叠加时,最外面的循环执行第一次时,里面的小循环要执行到不能满足条件为止才进行第二次最外面的循环,具体效果要多运行体验变化,多改动才有更深的领悟,更有价值。
版权声明:本文为weixin_51753483原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。