首页 技术 正文
技术 2022年11月15日
0 收藏 994 点赞 5,051 浏览 1683 个字

Java 循环语句之多重循环

循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。

如下所示:

  JAVA基础——最简单的多重循环程序

  接下来我们通过两个最简单的多重循环程序来深入理解多重循环的执行过程~

1、使用 * 打印长方形:

      JAVA基础——最简单的多重循环程序

  实现代码为:

System.out.println("打印长方形");        // 外层循环控制行数
for (int i = 1; i <= 3; i++) { // 内层循环控制每行的*号数
for (int j = 1; j <= 8; j++) { System.out.print("*");
} // 每打印完一行后进行换行
System.out.println();
}

  执行流程:当 i = 1 时,外层循环条件成立,进入内层循环,开始打印第一行内容。此时, j 从 1 开始,循环 8 次,内层循环结束后换行,实现第一行 8 个 * 的输出。接下来返回外层循环 i 变为 2 ,准备打印下一行,依此类推,直到完成长方形的打印。

2.使用 * 打印直角三角形:

   JAVA基础——最简单的多重循环程序

  实现思路:上面的图形中,第 1 行有一个 * 号,第 2 行有两个 * 号,第 3 行有三个 * 号,所以可以使用二重循环来实现。其中,外层循环控制行数,内层循环控制每行的 * 号数。同时,我们发现一个规律,当打印每行信息时,内层循环变量的最大值和外层循环变量的值相等。

  实现代码为:

System.out.println("打印直角三角形");        // 外层循环控制行数
for (int i = 1; i <= 3; i++) { // 内层循环控制每行的*号数
// 内层循环变量的最大值和外层循环变量的值相等
for (int j = 1; j <= i; j++) { System.out.print("*");
} // 每打印完一行后进行换行
System.out.println();
}

3.进阶——打印九九乘法表:

  JAVA基础——最简单的多重循环程序

  经过上面两个简单的例子我们可以挑战用双重循环来打印九九乘法表了~

  实现思路:观察九九乘法表的结构和直角三角形很相似,所以我们可以直接在上面的第二个例子里作文章,关键只要修改内嵌循环中打印的内容就可以了。如何修改就要仔细观察九九乘法表到底是如何实现的,它一共有九行,那么最外面的循环最大值也应该是9;然后我们观察每行的规律,不难得出,假设每行的每个算式为j*i,j从1开始递增,且j的最大值为它所在的行数(与外层循环次数相同),而i则是等于它所在的行数,那么我们把j这个变量设计为第二层循环嵌套的变量,使它的最大值等于外层i的变量的值。最后注意一下print函数输出的格式就可以了~

  实现代码:

        System.out.println("打印九九乘法表");        // 外层循环控制行数,总共有9层
for (int i = 1; i <= 9; i++) {
// 内层循环控制每行的乘法算式
// 内层循环变量的最大值和外层循环变量的值相等(相当于直角三角形)
for (int j = 1; j <= i; j++) { System.out.print(j+"*"+i+"="+(j*i)+" ");
} // 每打印完一行后进行换行
System.out.println();
}

4、判断一个数(小于10位)的位数。

  内容:判断一个数(小于10位)的位数。

     输入999,则输出 “它是个3位的数!”

  实现思路:判断一个数的位数,我们通常要用1/10/100/..来对这个数求除数(并且截去小数点取整),直到除数结果为0,则说明这个数不属于除数的位数。那么我们用count变量来存储位数的递增(从0开始);定一个循环变量i,初始值为1,每次循环乘以10;循环结束条件为需要判断的数除以i结果等于0。

  实现代码:

     int num = 999;
int count = 0;
for (int i = 1; num / i != 0; i *= 10) {
count++;
} System.out.println("它是个" + count + "位的数!");

  运行结果:

  JAVA基础——最简单的多重循环程序


  这节主要为大家介绍了几个多重循环的学习小例子,虽然它们都是那么微不足道,但是简短而不简单,这几个例子对巩固循环的基础还是有很大帮助的,多谢关注~

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,360
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,852