Java提供了三种类型的循环结构:for、while和do-while。这些循环结构允许我们多次执行一个代码块,直到满足某种条件为止。
for循环是Java中最基本的循环结构之一。for循环的语法如下:
for (初始化; 条件; 步进) {
//要执行的代码块
}
其中,初始化用于声明和初始化循环控制变量;条件用于判断循环是否继续执行;步进用于更新循环控制变量的值。
以下是一个基本的for循环示例:
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
输出:
0
1
2
3
4
5
6
7
8
9
for循环可以嵌套,例如下面的代码可以输出一个九九乘法表:
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "×" + i + "=" + i*j + " ");
}
System.out.println();
}
输出:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
while循环与for循环类似,它的语法如下:
while (条件) {
//要执行的代码块
}
只有当条件为真时,循环才会执行。如果条件一开始就为假,则循环根本不会执行。
以下是一个基本的while循环示例:
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
输出:
0
1
2
3
4
5
6
7
8
9
while循环也可以用于不定次数的循环。例如下面的代码可以逐行读取一个文件的内容:
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println("读取文件失败:" + e.getMessage());
}
do-while循环与while循环有所不同,它的语法如下:
do {
//要执行的代码块
} while (条件);
与while循环不同的是,do-while循环至少会执行一次,然后再检查条件是否为真。
以下是一个基本的do-while循环示例:
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 10);
输出:
0
1
2
3
4
5
6
7
8
9
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
break 的用法很简单,就是循环结构中的一条语句:
break;
public class Test { public static void main(String[] args) { int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ) { // x 等于 30 时跳出循环 if( x == 30 ) { break; } System.out.print( x ); System.out.print("\n"); } } }
以上实例编译运行结果如下:
10 20
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
continue 就是循环体中一条简单的语句:
continue;
public class Test { public static void main(String[] args) { int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ) { if( x == 30 ) { continue; } System.out.print( x ); System.out.print("\n"); } } }
以上实例编译运行结果如下:
10 20 40 50
Java的循环结构为我们提供了一种方便而强大的方式来多次执行代码块。for循环、while循环和do-while循环各有其特点,我们可以根据具体情况来选择使用哪种循环结构。在使用循环结构的过程中,需要注意循环控制变量的初始化、条件表达式的判断和步进表达式的更新,以免造成死循环或循环次数不足的情况。