一、回顾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"); } }
四、二重循环中的continue和break【最近原则】
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"); } }