下面我们介绍循环控制结构。如果您想要同样的操作执行多次,就需要使用循环结构。Java中有三种主要的循环结构:
- for 循环
- while 循环
- do…while 循环
一、for 循环
for
循环是一种控制结构,用于反复执行一段代码,直到满足指定的条件。for
循环通常用于需要知道循环次数的场景。
1、 传统的 for
循环
1)介绍
传统的for
循环有三个部分:初始化语句、条件表达式和更新语句。这三个部分一起控制了循环的执行。
for (initialization; condition; update) {
// 循环体
}
- initialization:在循环开始前执行一次,用于初始化循环控制变量。
- condition:每次循环开始时计算,如果返回
true
,则执行循环体;如果返回false
,则退出循环。 - update:每次循环结束后执行,用于更新循环控制变量。
例如:
public class Test {
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
System.out.println("i = " + i);
}
}
}
运行结果:
2)补充
条件表达式的结果应当是 boolean 类型的值。
int i = 0;
for(; i < 10; ) {
System.out.println("i = " + i);
i++;
}
初始化语句和循环变量迭代语句都可以放到其他地方,但是,for 循环后的圆括号中要有两个分号。
可以使用以下代码表示一个死循环(也就是无限循环):
for(;;) {
//...
}
在死循环运行时可以使用 Ctrl + C 终止这一个循环。
初始化语句、条件表达式和更新语句都可以有多个,中间使用逗号隔开。
for(int i = 0,j = 0; i < 10,j < 20; i++,j += 2) {
//...
}
3)示例
打印 100 以内包括 100 的所有是 5 的倍数的数字。
public class Test {
public static void main(String[] args) {
for(int i = 0; i <= 100; i += 5) {
System.out.print(i + " ");
}
}
}
运行结果:
2、增强型的 for 循环
增强的for
循环用于遍历数组或集合,无需使用索引变量。它提供了一种更简洁的方式来遍历所有元素。
for (type element : collection) {
// 循环体
}
- type:元素的类型。
- element:每次循环时取得的元素。
- collection:要遍历的数组或集合。
例如:
public class Test {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9};
for(int i : arr) {
System.out.println(i);
}
}
}
运行结果:
二、while 循环
while
循环是一种基本的控制结构,用于重复执行一段代码块,直到给定的条件为假(false
)。while
循环的基本构成是一个循环条件和一个循环体。只要循环条件的结果为真(true
),循环体内的代码就会被执行。一旦循环条件为假,循环就会终止。
while (condition) {
// 循环体代码
// 循环变量迭代
}
- condition(条件):这是一个布尔表达式(即结果为
true
或false
的表达式)。在每次循环开始前,都会评估这个条件。如果条件为true
,则执行循环体内的代码。如果条件为false
,循环则终止。 - 循环体:这是一组在每次循环时执行的语句。如果条件永远为
true
,这些语句就会无限重复执行,导致一个无限循环。
例如:
public class Test {
public static void main(String[] args) {
int i = 0;
while(i <= 5) {
System.out.println(i);
i++;
}
}
}
运行结果:
示例:
打印一百以内包括一百的是 4 的倍数的数字。
public class Test {
public static void main(String[] args) {
int i = 0;
while(i <= 100) {
if(i % 4 == 0) {
System.out.print(i + " ");
}
i++;
}
}
}
运行结果:
三、do while 循环
do-while
循环是一种后测试循环,这意味着它至少会执行一次循环体,然后在每次迭代结束时检查循环条件。这与while
循环不同,while
循环是先测试循环条件,可能一次都不执行循环体。
do {
// 循环体代码
// 循环变量迭代
} while (condition);
- 循环体:这是在每次循环时执行的代码块。
- condition(条件):这是一个布尔表达式,用于决定是否继续循环。在每次循环体执行完毕后,会检查这个条件。如果条件为
true
,则继续下一次循环;如果条件为false
,则循环结束。
例如:
public class Test {
public static void main(String[] args) {
int i = 0;
do {
System.out.println(i);
i++;
} while(i <= 10);
}
}
运行结果:
四、嵌套循环
循环也是可以嵌套的。
示例:
打印九九乘法表。
public class Test {
public static void main(String[] args) {
int i = 1;
int j = 1;
for(i = 1; i <= 9; i++) {
for(j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
System.out.println("");
}
}
}
运行结果: