一、回顾3种循环结构

1、while

l  语法

条件表达式的初始值;

while(条件表达式){

       循环操作;

       更改条件表达式的语句;

}

l  特点:先判断,再执行,有可能一次循环都没有

l  适用的场合:循环次数未知

l  表现形式

n  第一种:循环的次数确定

u  条件表达式,判断整型的变量在某个范围

u  while(i<=5){ //不需要接收用户输入}

n  第二种:循环次数不限,用户输入某个值结束循环

u  条件表达式,根据用户输入的值进行判断

u  while(用户输入的值和某个值做比较){

如输入0或(yes/no)结束循环

u  }

2、do…while

l  语法

条件表达式的初始值;

do{

循环操作;

         更改条件表达式的语句;

}while(条件表达式);

l  特点:先执行,再判断,至少循环1次

l  适用场合,同while循环

l  表现形式,同while循环

 

3、for

l  语法

for(初始值;条件表达式;迭代部分){

                     //循环操作

}

l  特点:同while循环,都先判断,再执行,有可能1次循环都不执行

l  适用场合:循环次数固定

 

二、循环中常见的2个语句

break——终止循环(循环未完毕时,提前结束循环)

continue——结束本次循环,进入下一次循环

 

三、二重循环

1、循环中,嵌套另外一个循环,将内层的循环,看成外层循环的一个循环操作

2、常见的二重循环

            形式1:         外层while或do…while

内层为for循环

            形式2:外层、内层都是for循环

形式3:外层为for循环,内层为while或do…while

3、二重循环的执行顺序

            1、首先执行1次外层循环;

2、进入外层循环后,必须要将内层循环全部循环完毕,

才继续进行外层的第2….N次循环。

复制代码
复制代码
public static void main(String [] args){
        Scanner input=new Scanner(System.in);
        int scores[]=new int[4];
        for (int d=0;d<3;d++){
        System.out.println("请输入第"+(d+1)+"个班的成绩");
        int  num=0;
        for (int i=0;i<scores.length;i++){
            System.out.print("请输入第"+(i+1)+"位学员的成绩:");
            scores[i]=input.nextInt();
            num=num+scores[i];
        }
        System.out.println("\n参赛的学员平均分是:"+(num/4.0));
        }
    }
复制代码
复制代码

利用二重循环打印直角三角形

复制代码
复制代码
public static void main(String [] args){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入直角三角形的行数:");
        int hang =input.nextInt();//三角形的行数
        for  (int i=1;i<=hang;i++){
            for (int j=1;j<=2*i-1;j++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
复制代码
复制代码

 

四、二重循环中的continuebreak【最近原则】

1、continue:结束离它【最近的循环结构】的本次循环,进入该循环结构的下一次循环

2、break:终止离它【最近的循环结构】的循环

 

五、二重循环常见方式

1、for循环相互嵌套

                   for( ){

                               for(){

                               }

……………………..

                   0}

2、for循环中,嵌套while或do…while

                   for(){

                               while(){

                               }

                               

                               do{

                               }while();

                   }

利用二重循环打出相应的行数

复制代码
复制代码
public static void main(String [] args){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入等腰三角形的行数:");
        int hang=input.nextInt();
        for (int i =1;i<hang;i++){
            for(int j=hang-i;j>=1;j--){
                
                System.out.print(" ");
        }
            for(int k=1;k<=2*i-1;k++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
复制代码
复制代码