首页 > 编程语言 >Java 循环嵌套

Java 循环嵌套

时间:2023-03-21 21:48:17浏览次数:41  
标签:Java int void 内层 嵌套 嵌套循环 循环 static

使用说明

所谓嵌套循环:是指一个循环结构A的循环体是另一个循环结构B。比如,for循环里面还有一个for循环,就是嵌套循环。其中,for ,while ,do-while均可以作为外层循环或内层循环。

  • 外层循环:循环结构A
  •  内层循环:循环结构B

实质上,嵌套循环就是把内层循环当成外层循环的循环体。只有当内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的外层循环。

设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

技巧:从二维图形的角度看,外层循环控制行数,内层循环控制列数。

开发经验:实际开发中,我们最多见到的嵌套循环是两层。一般不会出现超过三层的嵌套循环。如果将要出现,一定要停下来重新梳理业务逻辑,重新思考算法的实现,控制在三层以内。否则,可读性会很差。

例如:两个for嵌套循环格式

for(初始化语句①; 循环条件语句②; 迭代语句⑦) {
    for(初始化语句③; 循环条件语句④; 迭代语句⑥) {
          循环体语句⑤;
    }
}

//执行过程:① - ② - ③ - ④ - ⑤ - ⑥ - ④ - ⑤ - ⑥ - ... - ④ - ⑦ - ② - ③ - ④ - ⑤ - ⑥ - ④..

 执行特点:外层循环执行一次,内层循环执行一轮。

应用举例

练习1、打印5行6个*

    public static void printxx() {
        for (int i = 0; i < 5; i++) {//控制行
            for (int j = 0; j < 6; j++) {//控制列
                System.out.print("*");
            }
            System.out.println();
        }
    }

练习2、打印5行直角三角形

    /**
     * 直角三角形
     */
    static void printsjx() {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= i; j++) {//控制列
                System.out.print("*");
            }
            System.out.println();
        }
    }

案例3:打印5行倒直角三角形

    static void printsjxres() {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 6 - i; j++) {//控制列
                System.out.print("*");
            }
            System.out.println();
        }
    }

练习4、打印"菱形"形状的图案

    /**
     * 菱形
     */
    static void pringlx() {
        //上半部分
        for (int i = 1; i <= 5; i++) {
            //空格
            for (int j = 1; j <= 10 - 2 * i; j++) {
                System.out.print(" ");
            }
            //打印
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("* ");
            }
            System.out.println();
        }
        for (int i = 1; i <= 4; i++) {
            //
            for (int k = 1; k <= 2 * i; k++) {
                System.out.print(" ");
            }
            for (int j = 1; j <= 9 - 2 * i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }

练习5、九九乘法表

    static void print99() {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i + "*" + j + "=" + (i * j) + "\t");
            }
            System.out.println();
        }
    }

练习5、打印一天的时间

    static void printTime() {
        for (int hour = 0; hour < 24; hour++) {
            for (int min = 0; min < 60; min++) {
                System.out.println(hour + "时" + min + "分");
            }
        }
    }

标签:Java,int,void,内层,嵌套,嵌套循环,循环,static
From: https://www.cnblogs.com/wdh01/p/17156719.html

相关文章

  • java.lang.IllegalArgumentException: lastRow firstRow lastCol firstCol
    出现这个错误,你应该使用的是easypoi导出功能@Excel(name="时间",orderNum="0")privateIntegerdt;因为你没有在实体类上面添加注解......
  • Java基础干货分享(一)
    ​Java中数据类型分为基本数据类型和引用数据类型,基本数据类型有8种:1、byte2、char3、short 4、int5、long6、float7、double8、boolean。8种基本类型的包装类对......
  • java方法-方法重载
    方法的重载重载就是在一个类中,有相同的函数名称,但形参不同的函数。方法重载的规则:方法名称必须相同参数列表必须不同(个数不同,或类型不同,参数排列顺序不同等)......
  • java中的泛型
    1、什么是泛型概念:概念:生活中的泛型是一种统一的模式,而程序中的泛型是用以统一数据类型的语法标准泛型接口和泛型类基本语法:一对尖括号当中,大写的单个字母,中间用逗号分......
  • java9 和代码相关的主要新特性
    1.增加了jshell的命令行客户端(相比较其他的稍微有点用处)2.多版本兼容jar(一个项目可以打出来适用于不同jdk版本的jar包)3.集合工厂方法(超有用)--之前创建方式......
  • java中xml转json
    publicstaticStringxml2jsonString()throwsJSONException,IOException{InputStreamin=XmlToJson.class.getResourceAsStream("test.xml");Stringxml=I......
  • 服务器上java项目启动异常慢 (亲测有效)
    #情境最近在做项目对接方面的工作,相关的服务器都是对方直接分配的,当我们项目运行的时候简直是异常的慢,不能忍受的那种平时我们项目启动要3分钟左右,现在要30分钟,是可忍孰不......
  • java程序当中对象属性映射
    #情景在项目当中会出现POJO(VO,BO,DTO...)对象之间的转换#解决我们常用的解决方式1.新创建一个DTO的类,然后通过对象属性赋值方法,进行操作2.通过继承基础对象类,增加额外......
  • Java入门第一步:写出你的Hello World
    当你学习一种新的编程语言时,通常你会看到第一个程序被称为“HelloWorld”程序。它通常用于初学者的简单程序。假设你是作为Java编程语言的初学者阅读这篇文章的,或者你......
  • [Java SE]Java SE异常合集
    1概述2问题集Q1:JAVA应用程序启动时报"AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:EXCEPTION_ACCESS_VIOLATION(0xc0000005)"问题描述#......