Java基础 — 循环
介绍
Java基础循环是程序流程控制的核心结构,主要用于重复执行特定代码块。常见的循环包括for、while和do-while三种形式,开发者可根据不同场景灵活选择。
合理使用循环关键字能有效提升代码执行效率。掌握循环结构的核心在于理解执行流程与条件判断的时序关系,通过变量控制和逻辑设计实现精准的重复操作。
循环结构类型
Java基础循环结构包括:for循环(明确次数,初始化、条件、迭代)、while循环(先判断条件后执行)、do-while循环(先执行一次再判断条件)。三者均用于重复执行代码,根据场景选择不同结构控制流程。
for循环
语法:
for (初始化; 条件判断; 迭代操作) {// 循环体}
特点:适用于已知循环次数的场景。
for (int i = 1; i <= 5; i++) {System.out.println(i); // 输出1到5}
while循环
语法:
while (条件判断) {// 循环体}
特点:先判断条件,条件为真才执行循环体。
int i = 1;while (i <= 5) {System.out.println(i); // 输出1到5i++;}
do-while循环
语法:
do {// 循环体} while (条件判断);
特点:至少执行一次循环体,再判断条件。
int i = 1;do {System.out.println(i); // 输出1到5i++;} while (i <= 5);
增强型for循环(for-each)
语法:
for (数据类型 变量名 : 数组/集合) {// 循环体}
特点:遍历数组或集合,无需手动控制索引。
int[] nums = {1, 2, 3};for (int num : nums) {System.out.println(num); // 输出1,2,3}
循环控制语句
Java循环控制语句包括:break(立即终止循环)、continue(跳过本次循环剩余代码)、return(退出方法),支持标签控制多层循环跳转,用于灵活调整执行流程。
break
立即终止当前循环,跳出循环体。
for (int i = 1; i <= 10; i++) {if (i == 5) break; // 当i=5时退出循环System.out.println(i); // 输出1到4}
continue
- 跳过本次循环剩余代码,直接进入下一次循环。
for (int i = 1; i <= 5; i++) {if (i == 3) continue; // 跳过i=3的情况System.out.println(i); // 输出1,2,4,5
}
无限循环与注意事项
-
无限循环
-
使用不当会导致程序无法终止。
-
while (true) { // 无限循环,需配合break退出// 代码逻辑if (条件) break; }
-
-
常见错误
-
死循环:忘记更新循环变量。
-
int i = 1; while (i <= 5) { // i未递增,导致无限循环System.out.println(i); }
-
作用域问题:循环变量在外部不可访问。
-
i = 1; i <= 5; i++) { ... } System.out.println(i); // 报错!i仅在循环内有效
-
循环适用场景
- for:已知循环次数(如遍历数组)。
- while:未知次数,需条件控制(如读取用户输入直到合法)。
- do-while:至少执行一次(如菜单显示)。
- for-each:简化集合/数组遍历。
嵌套循环示例
打印九九乘法表:
for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "×" + i + "=" + (i*j) + "\t");}System.out.println();
}
总结
Java基础循环知识是编程中的重要内容,主要包括三种循环结构及两种控制语句。for循环适用于已知循环次数的场景,其语法由初始化、条件判断和迭代部分组成,常用于遍历数组或集合。while循环先判断条件再执行循环体,适合不确定循环次数但需要前置条件验证的情况。do-while循环则先执行一次循环体再进行条件判断,确保至少执行一次操作。此外,增强型for循环(foreach)专为遍历数组或集合设计,能简化代码结构但缺乏索引控制。
循环控制语句中,break用于立即终止当前循环,适用于满足特定条件时提前退出;continue则会跳过当前迭代剩余代码,直接进入下一次循环。嵌套循环需注意内外层变量的作用域,避免逻辑混乱。在编写循环时,必须确保循环条件能够动态变化,否则可能引发无限循环。合理选择循环结构可提升代码效率和可读性,例如明确次数时优先使用for循环,动态条件优先使用while循环。理解循环机制对后续学习集合操作、多线程等高级特性具有重要意义。