
本文共 2640 字,大约阅读时间需要 8 分钟。
Java循环结构与控制语句
while循环
while循环是Java中的基本循环结构,适用于需要根据条件执行若干次操作的场景。其工作原理是先判断循环条件,如果条件为true,执行循环体,否则退出循环。while循环的特点是只有当条件满足时,才会执行循环体。
###注意事项
- 避免死循环:循环条件应始终设置为能够最终变为false,否则会导致无限循环,影响性能。
- 常见用途:计算累加和、文件操作、遍历数据等。
- 示例:计算1到100的和
int sum = 0;int i = 1;while (i <= 100) { sum += i; i++;}
do while循环
do while循环与while循环不同之处在于,do while循环至少会执行一次循环体,即使循环条件为false。这种结构通常用于需要执行初始化操作或确保至少执行一次循环体的场景。
###特点
- 先执行循环体,后判断条件
- 适用于初始化操作或必须执行一次操作的需求
- 示例:do-while循环
boolean condition = false;do { // 必须执行的操作 System.out.println("执行一次"); condition = true; // 初始条件设置为false,只有在第一次才会改变} while (!condition);
###while和do while的区别 | 特性 | while循环 | do while循环 | |---------------------|------------------------------|-------------------------------| | 阻塞执行 | 不执行循环体前先判断条件 | 先执行循环体,再判断条件 | | 适用场景 | 初始条件不满足时的循环 | 至少执行一次的需求 |
for循环
for循环是Java中的通用循环结构,既可以用于基本的计数循环,也可以用于更复杂的控制结构。其特点在于初始化、条件和更新操作可以在同一行定义,循环次数在编写时确定。
###语法结构
for 初始化语句; 布尔表达式; 更新语句 { // 循环体代码}
###练习1:奇偶数之和
int oddSum = 0, evenSum = 0;for (int i = 0; i <= 100; i++) { if (i % 2 != 0) { // 奇数 oddSum += i; } else { // 偶数 evenSum += i; }}
###练习2:输出5的倍数(每行3个)
for (int i = 0; i <= 1000; i++) { if (i % 5 == 0) { System.out.print(i + "\t"); if (i % 15 == 0) { // 判断是否为15的倍数 System.out.println(); } }}
###练习3:九九乘法表
for (int j = 1; j <= 9; j++) { for (int i = 1; i <= j; i++) { System.out.print(i + "*" + j + "=" + j * i + "\t"); } System.out.println(); // 每行结尾换行}
增强for循环
Java5引入增强型for循环,用于工作于数组或集合的场景。其特点是将循环变量声明在循环语句中。
###语法
for(新声明语句 : 可遍历对象) {}
###数组遍历示例
int[] numbers = {10, 20, 30, 40, 50, 60, 70, 80};for (int a : numbers) { System.out.println(a);}
break和continue
###break语句
break用于强行退出循环,不执行循环后续代码。它可用于跳出嵌套的循环。
###示例:跳出嵌套循环
标签名: outerfor (int i = 0; i < 5; i++) { // 外层循环 for (int j = 0; j < 5; j++) { // 内层循环 if (i % 2 == 0) break outer; // 跳出外层循环 System.out.println(i * j); }}
###continue语句
continue用于跳过当前循环体,直接到下一次循环的判定部分。它在循环体中的跳跃执行。
###示例:每隔10个数输出一次
for (int a = 1; a < 100; a++) { if (a % 10 == 0) { System.out.println(" Mathematics ); continue; } System.out.println(a);}
goto关键字
goto在Java中没有正式支持,但仍可见其影响于break和continue的设计。goto用于在标签定义的位置跳转,常用于流程控制,在Java中一般不推荐使用。
###例子:打印质数
标签名: prime_foundfor (int i = 11; i <= 150; i++) { boolean flag = true; for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) flag = false; break; } if (flag) { System.out.println(i); prime_found:; }}
总结
掌握了这些循环结构和控制语句后,编写代码会更加灵活。通过合理选择循环结构和break、continue等控制语句,能够提升代码可读性和效率。在实际开发中,尽量避免死循环,选择最合适的循环结构是关键。
发表评论
最新留言
关于作者
