读者可订阅专栏:Java开发指南 |【CSDN@秋说】
文章目录
- 循环
- 1、while循环
- 2、do-while循环
- 3、for循环
- break 关键字
- 数组for循环
- continue 关键字
循环
与C语言相同,Java中有三种主要的循环结构:
- while 循环
- do…while 循环
- for 循环
1、while循环
while
循环是一种入口控制循环,它在每次迭代之前检查循环条件是否为真。只有当条件为真时,循环体才会执行。如果条件一开始就为假,循环体可能不会执行一次。
适用场景:
- 当循环的次数不确定,但循环的条件可以在迭代前确定时,适合使用
while
循环。 - 当需要重复执行一段代码,直到满足某个条件时,也可以使用
while
循环。
模板:
while (condition) {
// 循环体
// 在条件为真时执行
}
实例:
int count = 0;
while (count < 5) {
System.out.println("Count: " + count);
count++;
}
//打印从 0 到 4 的数字
2、do-while循环
do-while
循环是一种出口控制循环,它在每次迭代之后检查循环条件是否为真。因此,do-while
循环至少会执行一次循环体,然后根据条件是否为真决定是否继续执行。
适用场景:
- 当需要至少执行一次循环体,然后根据条件决定是否继续执行时,适合使用
do-while
循环。 - 当循环条件依赖于循环体中的操作结果时,也可以使用
do-while
循环。
模板:
do {
// 循环体
// 至少执行一次
} while (condition);
实例:
int count = 0;
do {
System.out.println("Count: " + count);
count++;
} while (count < 5);
//打印从 0 到 4 的数字
3、for循环
for
循环是一种方便的迭代结构,它将初始化、条件检查和迭代更新放在一个语句中。这使得代码更加简洁,并且更容易理解循环的逻辑。
适用场景:
- 当循环的次数已知且固定时,适合使用
for
循环。 - 当需要对某个范围内的值进行迭代时,
for
循环也是一个很好的选择。
模板:
for (initialization; condition; update) {
// 循环体
}
实例:
for (int i = 0; i < 5; i++) {
System.out.println("Count: " + i);
}
//打印从 0 到 4 的数字
在循环进行的过程中,如果我们想要打破循环怎么办?这就涉及到了break关键字。
break 关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
如果break在多层循环的某一层,则只会跳出该层循环,并且继续执行该循环下面的语句。
语法:
break;
举个例子:
public class ice {
public static void main(String[] args){
int[] arr = {12,34,56,7};
//int x;
for(int x=0;x<=3;x++){
System.out.println(arr[x]);
break;
//输出arr[0]后,遇见break语句,直接跳出循环,导致只输出12
}
}
}
数组for循环
除了上面三种循环外,Java5 引入了一种主要用于数组的增强型 for 循环。
Java 增强 for 循环语法格式如下:
for(声明语句 : 表达式)
{
//代码句子
}
**声明语句:**声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
**表达式:**表达式是要访问的数组名,或者是返回值为数组的方法。
声明新的局部变量时,必须在for语句内,不能在for语句外,否则报错:
正确写法:
continue 关键字
当 continue
语句在 for
循环中执行时,它会导致程序立即跳转到更新语句(即下一次迭代的开始处),而不执行循环体中 continue
语句之后的代码。
语法:
continue
在 for 循环中,continue 语句使程序立即跳转到更新语句。
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 当 i 等于 2 时,立即跳转到更新语句
}
System.out.println("Count: " + i);
}
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
public class ice {
public static void main(String[] args){
int i = 0;
while (i < 5) {
i++;
if (i == 2) {
continue; // 当 i 等于 2 时,跳过当前迭代,重新检查布尔表达式 i < 5
}
System.out.println("i = " + i);
}
}
}