zoukankan      html  css  js  c++  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则是等于它所在的行数,那么我们把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 + "位的数!");

      运行结果:

       


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

        本文如果对大家的学习有帮助,请点击下方的“推荐”或者“收藏”!您的支持将是我最大的动力,谢谢✧⁺⸜(●˙▾˙●)⸝⁺✧再来一个不要脸的求“关注”   

    作者: 云开的立夏

    出处: http://www.cnblogs.com/hysum/>

    关于作者:本人目前还在上学,小白一枚,希望能把学过的知识与大家分享,请多多赐教!

    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接

    大家写文都不容易,请尊重劳动成果~这里谢谢大家啦(*/ω\*) 如有问题, 可邮件(hysum626@162.com)咨询.

  • 相关阅读:
    C# 编码解码
    asp.net跨域问题
    C# crc16modbus
    c# 日志生成
    C# 对newtonsoft.json对象进行ascii排序
    C# 字节转结构体、结构体转字节
    按ascill排序参数
    C# Rsa加密(私钥加密、公钥解密、密钥格式转换、支持超大长度分段加密)
    Interview
    Leetcode
  • 原文地址:https://www.cnblogs.com/hysum/p/7090010.html
Copyright © 2011-2022 走看看