循环控制
for循环
基本语法
for(循环变量初始化;循环条件;循环变量迭代){
循环操作(可以多条语句);
}
说明
- for 关键字,表示循环控制 。
- for 有四要素:(1) 循环变量初始化 (2) 循环条件 (3) 循环操作 (4) 循环变量迭代。
- 循环操作,这里可以有多条语句,也就是我们要循环执行的代码。
- 如果 循环操作 (语句) 只有一条语句,可以省略 {} ,建议不要省略。
注意事项
- 循环条件是返回一个布尔值的表达式。
- for ( ; 循环判断条件; ) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
举例:
int i = 1;//循环变量初始化,能够扩大 i 的作用域
for( ; i <= 10; ){
System.out.println("Hello!" + i);
i++;
}
System.out.println(i);//i = 11
- 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
举例:
int count = 3;
for (int i = 0,j = 0; i < count; i ++,j += 2){
System.out.println("i=" + i +"j=" + j);
}
while 循环
基本语法
循环变量初始化;
while(循环条件){
循环体(语句);
循环变量迭代;
}
说明
- while 循环也有四要素。
- 只是四要素放的位置与 for 不一样。
注意事项
- 循环条件是返回一个布尔值的表达式。
- while 循环是先判断再执行语句。
do-while循环
基本语法
循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
说明
- do 和 while 是关键字
- 也有循环四要素,只是位置不一样。
- 先执行,再判断,也就是说,至少会执行一次。
- 最后有一个分号 ;
- while 和 do-while 区别。 do-while可以用在显示菜单,因为菜单至少要显示一次。
注意事项
- 循环条件是返回一个布尔值的表达式。
- do…while 循环是先执行,再判断,因此它至少执行一次。
多重循环控制
介绍
- 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while 均可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过3层,否则,代码的可读性很差】
- 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为 false 时才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
- 设外层循环次数为 m 次,内层为 n 次,则内层循环体实际上需要执行 m*n 次。
例子: 统计 3 个班成绩情况,每个班有 5 名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]。
import java.util.Scanner;//导入
public class MulForExercise01{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
double Sum = 0.0;
int i = 0;
int j = 0;
for (i = 0; i < 3; i++){
double ClassGrade = 0.0;
for(j = 0; j < 5; j++){
System.out.println("班级"+ (i+1) + "学生" + (j+1) + "成绩:");
double Grade = myScanner.nextDouble();
Sum += Grade;
ClassGrade += Grade;
}
System.out.println("班级"+ (i+1) + "平均分为" + ClassGrade/j);
}
System.out.println("所有班级平均分为"+ Sum / (i * j));
}
}