第3课_Java的循环控制
热度🔥:14 免费课程
授课语音
Java 循环控制
Java 提供了多种循环控制结构,包括 for
循环、while
循环和 do-while
循环,这些结构允许我们对代码块进行重复执行,直到满足指定的条件。此外,break
和 continue
语句可以进一步控制循环的流程。除此之外,我们还可以利用多层嵌套循环、死循环等方式实现特定的循环功能。本课将详细介绍这些循环控制结构及其应用,并通过代码示例帮助大家理解每种循环的用法及最佳实践。
1. 循环控制结构介绍
1.1 for
循环
for
循环结构允许我们通过初始化条件、循环条件和更新表达式控制循环的次数,适用于当循环的次数已知的情况。
语法:
for (初始化表达式; 循环条件; 更新表达式) {
// 循环体
}
1.2 while
循环
while
循环是一种入口条件循环,即在每次循环开始之前先判断条件是否为真,适用于循环次数未知,且需要先判断条件的情况。
语法:
while (循环条件) {
// 循环体
}
1.3 do-while
循环
do-while
循环是出口条件循环,它会先执行一次循环体,再判断条件是否为真,适用于需要至少执行一次循环的情况。
语法:
do {
// 循环体
} while (循环条件);
1.4 死循环
死循环指的是循环条件始终为真,导致循环一直执行,直到程序被强制停止。常见的死循环使用 while(true)
语句来实现,例如在服务端程序中监听用户输入时使用死循环保持程序一直运行。
语法:
while (true) {
// 死循环体,程序将持续运行
}
1.5 多层嵌套循环
多层嵌套循环是指在一个循环内嵌套另一个循环,用于处理多维数据结构或复杂的操作逻辑。常见的多层嵌套循环有二维和三维数组的遍历。
语法:
for (初始化表达式1; 条件1; 更新表达式1) {
for (初始化表达式2; 条件2; 更新表达式2) {
// 嵌套循环体
}
}
1.6 break
和 continue
语句
break
:用于立即跳出循环,终止当前循环。continue
:用于跳过本次循环中剩余的代码,立即进入下一次循环。
2. 循环控制代码示例
2.1 for
循环示例
以下示例通过 for
循环打印 1 到 5。
public class ForLoopExample {
public static void main(String[] args) {
// 初始化i为1,当i小于等于5时继续循环,每次循环后i自增1
for (int i = 1; i <= 5; i++) {
// 输出当前的i值
System.out.println("当前数字: " + i);
}
}
}
2.2 while
循环示例
以下示例通过 while
循环计算从 1 加到 5 的和。
public class WhileLoopExample {
public static void main(String[] args) {
int i = 1; // 初始化变量i
int sum = 0; // 初始化总和为0
// 当i小于等于5时,执行循环体
while (i <= 5) {
sum += i; // 累加i的值到sum中
i++; // i自增1
}
// 输出总和
System.out.println("1 到 5 的和是: " + sum);
}
}
2.3 死循环示例
以下示例展示一个简单的死循环,用于不断打印某一信息,直到手动停止程序。
public class InfiniteLoopExample {
public static void main(String[] args) {
// 死循环:无限循环,打印输出
while (true) {
System.out.println("死循环中...");
}
}
}
2.4 多层嵌套循环示例
以下示例展示如何通过多层嵌套循环来打印一个 3x3 的矩阵。
public class NestedLoopExample {
public static void main(String[] args) {
// 外层循环控制行数
for (int i = 1; i <= 3; i++) {
// 内层循环控制列数
for (int j = 1; j <= 3; j++) {
System.out.print("(" + i + ", " + j + ") ");
}
System.out.println(); // 换行
}
}
}
2.5 break
和 continue
示例
以下示例展示 break
和 continue
的用法。
public class BreakAndContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break; // 当i等于3时,跳出循环
}
System.out.println("循环中的数字: " + i);
}
System.out.println("----");
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // 当i等于3时,跳过当前循环
}
System.out.println("循环中的数字: " + i);
}
}
}
3. 循环控制的最佳实践
- 避免死循环:在编写循环时,确保设置合理的循环终止条件,避免无意中引入死循环。
- 控制嵌套层次:尽量减少嵌套循环的层数,以提高代码的可读性和性能。嵌套层次过多的循环可能会导致程序运行效率低下。
- 优先选择
for
循环:如果循环次数已知,优先选择for
循环,这样更直观,代码逻辑清晰。 - 合理使用
break
和continue
:在循环中使用break
和continue
可以优化流程,但要避免过多使用,以免影响代码的可读性和理解。