循环结构

for循环

for 循环是一种基本的迭代结构,用于重复执行一段代码直到满足特定条件。在 Java 中,for 循环有几种不同的形式,但它们的基本结构如下:

基本语法:

javafor (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体:每次循环迭代执行的代码
}
  • 初始化表达式:在循环开始前执行一次,通常用于初始化循环控制变量。
  • 条件表达式:在每次迭代开始前检查,如果为 true,则执行循环体;如果为 false,则退出循环。
  • 更新表达式:在每次循环迭代的末尾执行,通常用于更新循环控制变量。

示例:

javafor (int i = 0; i < 10; i++) {
    System.out.println("Value of i: " + i);
}

在这个示例中:

  • 初始化表达式 int i = 0 初始化循环控制变量 i
  • 条件表达式 i < 10 检查 i 是否小于10,如果是,则执行循环体。
  • 更新表达式 i++ 在每次迭代结束时将 i 的值增加1。

增强的 for 循环(for-each 循环):

从 Java 5 开始,引入了增强的 for 循环,也称为 for-each 循环,它简化了对数组和集合的遍历。

基本语法:

javafor (类型 变量 : 集合) {
    // 循环体:每次循环迭代执行的代码
}
  • 类型:数组或集合中元素的类型。
  • 变量:在每次迭代中,这个变量将被赋予集合中的当前元素的值。

示例:

javaint[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println("Number: " + number);
}

在这个示例中,for-each 循环遍历数组 numbers,并将数组中的每个元素赋值给变量 number

应用场景:

  • 迭代数组:当需要按顺序访问数组中的每个元素时。
  • 迭代集合:当需要遍历集合中的所有元素时。
  • 执行固定次数的迭代:当需要执行一段代码固定次数时。

注意事项:

  • 避免无限循环:确保条件表达式最终会变为 false,否则循环将无限进行下去。
  • 注意变量作用域:在 for 循环中声明的变量仅在循环体内有效。

for 循环是 Java 中最常用的控制结构之一,它提供了一种灵活且强大的方式来执行重复任务。

while循环

while 循环是Java中的一种基本的迭代结构,它在给定的条件为 true 时重复执行一段代码块。while 循环非常适合于当你不知道需要迭代多少次时,但你知道何时停止迭代。

基本语法:

javawhile (条件表达式) {
    // 循环体:只要条件表达式为true,就重复执行的代码
}
  • 条件表达式:这是一个布尔表达式,每次循环迭代前都会进行评估。如果条件为 true,则执行循环体内的代码;如果条件为 false,则退出循环。

示例:

javaint i = 0;
while (i < 10) {
    System.out.println("Value of i: " + i);
    i++;
}

在这个示例中,只要 i 小于10,循环就会继续执行,打印 i 的值,并在每次迭代后将 i 的值增加1。

特点:

  • 先判断后执行while 循环在执行循环体之前先评估条件表达式。
  • 可能零次执行:如果初始条件表达式为 false,循环体将完全不执行。
  • 容易形成无限循环:如果循环体内部没有修改条件表达式中的变量,或者修改的结果没有导致条件变为 false,循环将无限进行下去。

无限循环的写法:

javawhile (true) {
    // 这段代码将无限循环,除非在循环体内使用break语句退出
}

do...while循环

do-while循环:

do-while 循环是 while 循环的变体,它至少执行一次循环体,因为条件表达式的检查是在循环体执行之后。

do-while 循环的基本语法:

javado {
    // 循环体:至少执行一次的代码
} while (条件表达式);

示例:

javaint i = 0;
do {
    System.out.println("Value of i: " + i);
    i++;
} while (i < 10);

在这个示例中,循环体首先执行一次,然后检查条件表达式 i < 10。只要条件为 true,循环就会继续。

注意事项:

  • 避免无限循环:确保循环体内部有逻辑能够最终使条件表达式变为 false
  • 条件表达式的评估:条件表达式必须能够被评估为布尔值。
posted @ 2024-07-26 11:05  墨澜  阅读(14)  评论(0编辑  收藏  举报