zoukankan      html  css  js  c++  java
  • Java——循环升级之嵌套循环

      如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环,嵌套循环可以是 for 循环嵌套 while 循环,也可以是 while 循环嵌套 do while  循环......即各种类型循环都可以作为外层循环,各种类型的循环也可以作为内层循环。

    实例:

    public static void main(String[] args) {
            
            for (int i = 0; i < 5; i++) {
                for (int j = 0; j < 3; j++) {
                    System.out.println("i的值是:"+i+"	j的值是:"+j);
                }
            }
            
        }

    运行上面代码,可以看到如下结果:

      更具上面的代码可以看出,进入嵌套循环时,外层循环变量 i 开始为 0,这是进入外层循环。进入外层循环后,内层循环把 i 当成一个普通变量,其值为0,内层循环就是一个普通循环。内层循环3次结束,再跳到外层循环,外层循环变为1,接着循环内层循环,一直到外层循环判断值为 false 时候整个循环结束。

    嵌套循环流程图 :

      实际上 ,嵌套循环不仅可以是两层循环,好可以是三层嵌套、四层嵌套......不论如何嵌套 ,我们都可以把内层循环当成外层循环的循环体来对待,区别只是这个循环体里包含了需要反复执行的代码。


    》》使用双重 for 循环打印图形

    》直角三角形
    public static void main(String[] args) {
            
            for (int i = 0; i < 5; i++) {  //外层打印行数
                
                for (int j = 0; j <= i; j++) {  //内层打印次数
                    System.out.print("*");
                }
                System.out.println();
            }
            
        }

    》倒直角三角形

    public static void main(String[] args) {
            
            for (int i = 5; i > 0; i--) {  //外层打印行数
                
                for (int j = i; j > 0; j--) {  //内层打印次数
                    System.out.print("*");
                }
                System.out.println();
            }    
        }

    》等腰三角形
    public static void main(String[] args) {
            
            for (int i = 1; i < 7; i++) {
                
                for (int j = 0; j <6-i ; j++) {
                    System.out.print(" ");
                }
                
                for (int j = 0; j < i; j++) {
                    System.out.print(" *");
                }
                System.out.println();   //换行
            }
        }

     》倒等腰三角形

    public static void main(String[] args) {
            
            for (int i = 0; i < 7; i++) {
                
                for (int j = i; j >0 ; j--) {
                    System.out.print(" ");
                }
                
                for (int j = i; j < 7; j++) {
                    System.out.print(" *");
                }
                
                System.out.println();   
            }
        }

    》菱形
    public static void main(String[] args) {
    
            for (int i = 1; i < 7; i++) {
    
                for (int j = 0; j < 6 - i; j++) {
                    System.out.print(" ");
                }
    
                for (int j = 0; j < i; j++) {
                    System.out.print(" *");
                }
                System.out.println(); // 换行
            }
            for (int i = 0; i < 7 - 2; i++) {
    
                for (int j = i + 1; j > 0; j--) {
                    System.out.print(" ");
                }
    
                for (int j = i; j < 5; j++) {
                    System.out.print(" *");
                }
                System.out.println();
            }
    
        }

    》打印乘法口诀表
    public static void main(String[] args) {
    
            for (int i = 1; i <= 9; i++) {
                
                for (int j = 1; j<=i; j++) {
                    System.out.print(j+" * "+i+" = "+i*j+"	");
                }
                
                System.out.println();
            }
    
        }
  • 相关阅读:
    系统的访问
    tomcat 和 数据库的连接
    实体类编写规则
    webmagic 爬虫
    docker安装官方Redis镜像并启用密码认证
    解决Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. 问题
    Springboot配置druid报错Failed to bind properties under 'spring.datasource' to javax.sql.DataSource
    阿里云centos7.6搭建SVN远程仓库和Git远程仓库
    java 三大特性封装继承多态
    使用easyui tab需要注意的问题
  • 原文地址:https://www.cnblogs.com/szj-ang/p/7259268.html
Copyright © 2011-2022 走看看