当前位置:网站首页 > Java基础 > 正文

java基础多重循环



Java 循环语句之多重循环

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

如下所示:

  

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

1、使用 * 打印长方形:

      

  实现代码为:

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.使用 * 打印直角三角形:

   

  实现思路:上面的图形中,第 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.进阶——打印九九乘法表:

  

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

  实现思路:观察九九乘法表的结构和直角三角形很相似,所以我们可以直接在上面的第二个例子里作文章,关键只要修改内嵌循环中打印的内容就可以了。如何修改就要仔细观察九九乘法表到底是如何实现的,它一共有九行,那么最外面的循环最大值也应该是9;然后我们观察每行的规律,不难得出,假设每行的每个算式为j*i,j从1开始递增,且j的最大值为它所在的行数(与外层循环次数相同),而i则是等于它所在的行数,java基础多重循环那么我们把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基础机构2024-10-22 12:42:06
  • 有语法基础学java2024-10-22 12:42:06
  • java基础编程702024-10-22 12:42:06
  • java基础作的彩票管理系统2024-10-22 12:42:06
  • java集合基础接口有哪些2024-10-22 12:42:06
  • java基础 类型转换2024-10-22 12:42:06
  • java判断是不是基础类型2024-10-22 12:42:06
  • java基础每日一讲2024-10-22 12:42:06
  • java基础教程31讲2024-10-22 12:42:06
  • java基础实列2024-10-22 12:42:06