循环结构
1、for循环
语法:
for(循环初始化表达式;循环条件表达式;循环后的操作表达式){
// 循环体
}
注意:循环初始化表达式最新执行,并且执行一次。
用一个例题来说明for循环执行的顺序:
int i = 1;
for(System.out.println("A"); i < 4; System.out.println("B")) {
System.out.println("C");
i += 2;
}
// 输出结果:A、C、B、C、B
应用例题:输出1到100之间的奇数和偶数;
for(int i = 1; i <= 100; i++) {
// b)判断i是否能被2整除
if(i % 2 == 0) { // 偶数
System.out.println("偶数:" + i);
}
else { // 奇数
System.out.println("奇数:" + i);
}
}
2、while 循环
语法:
while(循环条件表达式){
//循环体
}
执行顺序:当条件表达式成立时,执行循环体,当条件表达式不成立时,则跳出循环
例题:输出[1, 100]之间所有的整数
int i = 1; // 循环初始化表达式
while(i <= 100) { // 循环条件表达式
System.out.println(i);
i++; // 循环后的操作表达式
}
3、do…while 循环
语法:
do {
// 循环体
}while(循环条件表达式);
white与do…white的区别:
while: 先判断,后执行。
do…while: 先执行,后判断。
例题:求100到999之间的水仙花数。水仙花数的每个位上的数字的
int i = 100; // 循环变量i,循环初始化表达式
do {
// b)在循环体中,获得i的个位数、十位数和百位数
int bit1 = i % 10;
int bit2 = i / 10 % 10;
int bit3 = i / 100;
// c)满足:1^3 + 5^3+ 3^3 = 153
if(bit1*bit1*bit1 + bit2*bit2*bit2 + bit3*bit3*bit3 == i) {
System.out.println(i);
}
i++; // 循环后的操作表达式
}while(i <= 999); // 循环条件表达式
break 关键字
作用:用于跳出循环后者跳出switch语句。
例如:
for(int i = 0; i < 10; i++) {
if(i == 3) {
break;
}
System.out.println(i); // 输出: 0,1,2
}
continue 关键字
作用:用于结束本趟循环,继续执行后续循环!
例题:
int i = -1;
while(i < 9) {
i++;
if(i == 3) {
continue;
}
System.out.println(i); // 输出: 0,1,2,4,5,6,7,8,9
}