如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环,嵌套循环可以是 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+"\tj的值是:"+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+"\t");
            }
            
            System.out.println();
        }

    }

 

 

 posted on 2017-07-30 16:23  【邵江】  阅读(471)  评论(0编辑  收藏  举报