JAVA学习(八)

二重循环

一、回顾3种循环结构

1、while

  语法

条件表达式的初始值;

while(条件表达式){

  循环操作;

  更改条件表达式的语句;

}

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

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

  表现形式

  第一种:循环的次数确定

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

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

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

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

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

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

  }

2、do…while

  语法

条件表达式的初始值;

do{

循环操作;

    更改条件表达式的语句;

}while(条件表达式);

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

  适用场合,同while循环

  表现形式,同while循环

3、for

 语法

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

           //循环操作

}

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

 适用场合:循环次数固定

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

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

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

三、回顾数组

1、声明数组

            数据类型【】数组名;

【】也可以放到数组名后面

2、为数组分配空间(长度)

            方式1:【长度】来分配空间,元素只有默认值

数据类型[]数组名=new 数据类型[长度];

int类型的数组,元素的默认值为0

String类型的数组,默认值为null

            方式2:根据值的个数,确定已分配的空间

                   数据类型[] 数组名={值列表};

                          int[]nums={1,2,3};

            方式3:根据值的个数,确定已分配的空间

                          数据类型[] 数组名=new 数据类型[]{值列表};

                                 int [] nums= new int[]{1,2,3};

3、遍历数组,一般情况都采用for循环取值或动态赋值

            for(int 变量=初始值; 条件表达式; 变量变更){

                   根据下标取值,下标>=0且下标<数组名.length   }

四、二重循环

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

2、常见的二重循环

            形式1:      外层while或do…while

内层为for循环

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

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

3、二重循环的执行顺序

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

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

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

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

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

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

六、二重循环常见方式

1、for循环相互嵌套

            for( ){

                   for(){

                   }

……………………..

            0}

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("
参赛的学员平均分是:"+(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("
");
        }
    }
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("
");
        }
    }

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

            for(){

                   while(){

                   }

                  

                   do{

                   }while();

            }

原文地址:https://www.cnblogs.com/etid/p/6941705.html