循环结构
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
。 - 条件表达式的评估:条件表达式必须能够被评估为布尔值。