双重for循环重难点解析
来源:互联网 发布:淘宝导航图片 编辑:程序博客网 时间:2024/05/01 16:00
循环里面可以嵌套一个循环,叫做多重循环。多重循环中最简单的就是二重循环。
二重循环的难点是内层循环的循环条件,如何控制内层循环的次数。
for(int i;...;...){ for(int j,...,...){ ...; } ...;}
二重循环的公式:
j<m*i + n内层循环变量j<每轮循环递增次数*外层循环循环变量 + 第一轮循环次数
i和j分别是外层和内层循环的循环变量。
m是每轮循环递增的次数,如递减取负数。
n是第一轮循环的次数
使用条件:
1 循环必须是有规律的递增和递减。
2 i和j的初值必须一致,最好都是从0开始。
3 i和j的步进语句必须都是i++,每次循环都自增1。
案例一:打印以下图形,我们可以用上面提到的公式验证一下
***************
public class Star{ public static void main(String[] args){ for(int i=0;i<5;i++){ //外层循环控制行,循环5次 for(int j=0;j<i + 1;j++){ //j<m*i+n //j<i + 1; System.out.print("*"); } System.out.println(); } }}
案例二:
由案例一衍生,我们还可以用JAVA打印如下图形的菱形,同样适用于公式 j
* 1 *** 2 ***** 5 ******* 7 ********* 9 ******* 7 ***** 5 *** 3 * 1
分析:
星星第1行到第5行,每行递增2,所以m为2;
第5行到第9行,每行递减2;所以m为-2;
第1行到第5行,左边的空格逐行减1;
第5行到第9行,左边的空格逐行加1;
public class Star2 { public static void main(String[] args) { for(int i=0;i<5;i++){ for(int j=0;j<-i+4;j++){ //1 打印空格 m = -1; System.out.print(" "); } for(int j=0;j<2*i+1;j++){//2 打印星星 m = 2; n = 1 System.out.print("*"); } System.out.println(); // 3 换行 } for(int i=0;i<4;i++){ for(int j=0;j<i+1;j++){ //1 打印空格 m = 1;n = 1 System.out.print(" "); } for(int j=0;j<-2*i+7;j++){//2 打印星星 m = -2; n = 7 System.out.print("*"); } System.out.println(); // 3 换行 } }}
我们还可以运用以上公式打印九九乘法表:
public class multi {//打印九九乘法表 public static void main(String[] args) { //定义主方法 for(int i=0;i<9;i++){ //写双重for循环 for(int j=0;j<i+1;j++){ //每轮循环递增1,所以m=1 System.out.print((j+1)+"*"+(i+1)+"="+(i+1)*(j+1)+" "); } System.out.println(); } }}
阅读全文
0 0
- 双重for循环重难点解析
- java跳出双重for循环,跳出双重for循环的内部循环并不执行外重循环内代码
- 双重for循环Test
- for语句双重循环
- 双重for循环优化
- android重难点解析
- Java如何跳出双重for循环和单重for循环
- for双重循环的总结
- JavaScript 数组双重for循环
- return跳出双重for循环
- oracle的双重for循环
- 17-for的双重循环
- Java 双重for循环性能
- 双重for循环删除数据
- 双重for循环打印九九乘法表
- C/C++重难点解析
- 双重for循环语句块的优化
- 双重for循环的几个例子
- SCRUM实践的一个教训
- C++系统学习(3)
- 数组去重的6种方法
- 使用三种继承回归模型对美国波士顿房价训练数据进行学习,并对测试数据进行预测
- Python小程序分享01——用Python实现账号登录与注册界面【EasyGui】
- 双重for循环重难点解析
- Java DecimalFormat 用法
- 简介SpringData
- eclipse创建maven web项目
- LNMP环境的搭建及其测试详细解说
- 使用DOM编程实现省市联动
- 生成式对抗网络Generative Adversarial Networks(GANs)
- StretchDIBits显示8位图问题
- JavaScript---Object.defineProperty()与两种属性描述符简介->数据\存取描述符