第二章:09流程控制[6循环嵌套]

①嵌套循环的使用

1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环

2.

外层循环:循环结构B

内层循环:循环结构A

3. 说明

① 内层循环结构遍历一遍,只相当于外层循环循环体执行了一次

② 假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m * n次

4. 技巧:

 外层循环控制行数,内层循环控制列数

 

②实例

class ForForTest {

   public static void main(String[] args) {

      //******

      //System.out.println("******");

      for(int i = 1;i <= 6;i++){

          System.out.print('*');

      }

      System.out.println(" ");

       

 

 

     /*

      ******

      ******

      ******

      ******

      */

      for(int j = 1;j <= 4;j++ ){

          for(int i = 1;i <= 6;i++){

              System.out.print('*');

          }

          System.out.println();

      }

 

 

 

 

 

     /*            i(行号)        j(*的个数)

      *            1            1

      **           2            2

      ***          3            3

      ****         4            4

      *****        5            5

      */

      for(int i = 1;i <= 5;i++){//控制行数

          for(int j = 1;j <= i;j++){//控制列数

              System.out.print("*");

          }

          System.out.println();

      }

 

 

   

 

 

 

 

      /*            i(行号)        j(*的个数)   规律:i + j = 5 换句话说:j = 5 - i;

      ****          1            4

      ***           2            3

      **            3            2

      *             4            1

      */    

      for(int i = 1;i <= 4;i++){

          for(int j = 1;j <= 5 - i;j++){

              System.out.print("*");    

          }

          System.out.println();

      }

 

 

 

 

 

 

 

    /*

      *

      **

      ***

      ****

      *****

      ****

      ***

      **

      *

    */

    //上半部分

    //下半部分

     for(int i = 1;i <= 5;i++){//控制行数

         for(int j = 1;j <= i;j++){//控制列数

             System.out.print("*");

         }

         System.out.println();

     }

     for(int i = 1;i <= 4;i++){

         for(int j = 1;j <= 5 - i;j++){

             System.out.print("*");    

         }

         System.out.println();

     }

 

 

 

 

 

 

 

 

/*

----*

---* *

--* * *

-* * * *

* * * * *

-* * * *

--* * *

---* *

----*

*/

 

 

 

 

 

需求:在控制台输出九九乘法表。

首先我们写出九九乘法表:

  1*1=1

  1*2=2    2*2=4

  1*3=3    2*3=6    3*3=9

  1*4=4    2*4=8    3*4=12    4*4=16

  ...

  1*9=9    2*9=18    3*9=27    ...

我们先把这个九九乘法表看出是这样的一个形状:

  *

  **

  ***

  ****

  *****

  ******

  *******

  ********

  *********

  for(int i = 1;i <= 9;i++){

      for(int j = 1;j <= i;j++){

           System.out.print(i + " * " + j + " = " + (i * j) + "  ");

      }

      System.out.println();

  }

   

 

 

 

 /*

100以内的所有质数的输出。

质数:素数,只能被1和它本身整除的自然数。-->从2开始,到这个数-1结束为止,都不能被这个数本身整除。

最小的质数是:2

*/  

       boolean isFlag = true;//标识i是否被j除尽,一旦除尽,修改其值

       for(int i = 2;i <= 100;i++){//遍历100以内的自然数

           for(int j = 2;j < i;j++){//j:被i去除

               if(i % j == 0){ //i被j除尽

                   isFlag = false;

               } 

           }

           //

           if(isFlag == true){

               System.out.println(i);

           }

           //重置isFlag

           isFlag = true;

       }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/Lucky-stars/p/11007704.html
今日推荐