Java 中的 for 循环和 while 循环都是用于重复执行一段代码,但它们在语法和使用场景上有一些区别:

while 循环

  • 语法结构while 循环的语法结构较为简单,只有条件表达式,通常用于循环次数未知或需要先判断条件再执行循环体的场景。
    while (条件表达式) {
      // 循环体
    }
  • 条件表达式:在每次循环开始前执行,判断是否满足循环条件,如果不满足则退出循环。
  • 适用场景:适用于循环次数未知或需要先判断条件再执行循环体的场景,例如读取文件直到遇到特定字符或处理用户输入直到用户选择退出。

for 循环

  • 语法结构for 循环的语法结构是固定的,包括初始化表达式、条件表达式和更新表达式,通常用于已知循环次数的场景。

    for (初始化表达式; 条件表达式; 更新表达式) {
      // 循环体
    }
  • 初始化表达式:用于初始化循环控制变量,只执行一次。

  • 条件表达式:在每次循环开始前执行,判断是否满足循环条件,如果不满足则退出循环。

  • 更新表达式:在每次循环结束后执行,用于更新循环控制变量。

  • 适用场景:适用于循环次数已知或可以预先计算的场景,例如遍历数组或集合。

while示例

只要条件满足会无限循环执行...

while (条件) {
    条件满足时执行...
}

public class Hello {

    public static void main(String[] args) {
        int age = 0;
        while (age <= 18) {
            System.out.println(age);
            age++;
        }
    }

}

for示例

for (初始化语句; 条件判断语句; 条件控制语句) {
    循环体语句...
}
public class Hello {

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
        }
    }

}

跳过以及结束循环

continue

临时跳过,中断本次循环,直接进入下一次循环

public class Hello {

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 3) {
                continue;
            }
            System.out.println(i);
        }
    }

}

break

直接结束循环

在嵌套循环中,只能作用在所在层循环上,无法对上层循环起作用

public class Hello {

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 3) {
                break;
            }
            System.out.println(i);
        }
    }

}

总结

  • for 循环适合已知循环次数的场景,语法结构固定且清晰。
  • while 循环适合循环次数未知的场景,先判断条件再执行循环体。