Java for循环,循环用于重复执行一组语句,直到满足特定条件。在 Java 中,我们有三种类型的基本循环:for
,while
和do-while
。在本教程中,我们将学习如何在 Java 中使用for
循环。
for
循环的语法:
for(initialization; condition ; increment/decrement)
{
statement(s);
}
for
循环的执行流程
当程序执行时,解释器总是跟踪将要执行的语句。我们将其称为控制流程或程序的执行流程。
第一步:在for
循环中,初始化只发生一次,这意味着for
循环的初始化部分只执行一次。
第二步:在每次迭代时求值for
循环中的条件,如果条件为真则执行循环体内的语句。一旦条件返回false
,for
循环中的语句就不会执行,并且控制在for
循环后被转移到程序中的下一个语句。
第三步:每次执行for
循环体后,for
循环的递增/递减部分执行更新循环计数器。
第四步:第三步后,控制跳转到第二步,重新求值条件。
简单的for
循环的示例
class ForLoopExample {
public static void main(String args[]){
for(int i=10; i>1; i--){
System.out.println("The value of i is: "+i);
}
}
}
该程序的输出是:
The value of i is: 10
The value of i is: 9
The value of i is: 8
The value of i is: 7
The value of i is: 6
The value of i is: 5
The value of i is: 4
The value of i is: 3
The value of i is: 2
在上面的程序中:
int i = 1
是初始化表达式i > 1
是条件(布尔表达式)i--
递减运算
无限循环
布尔表达式和递增/递减操作协调的重要性:
class ForLoopExample2 {
public static void main(String args[]){
for(int i=1; i>=1; i++){
System.out.println("The value of i is: "+i);
}
}
}
这是一个无限循环,因为条件永远不会返回false
。初始化步骤是将变量i
的值设置为 1,因为我们正在递增i
的值,它总是大于 1(布尔表达式:i > 1
)所以它永远不会返回false
。这最终会导致无限循环条件。因此,重要的是看到布尔表达式和递增/递减操作之间的协调以确定循环是否将在某个时间点终止。
这是无限for
循环的另一个例子:
// infinite loop
for ( ; ; ) {
// statement(s)
}
for
循环迭代数组的示例:
这里我们使用for
循环迭代并显示数组元素。
class ForLoopExample3 {
public static void main(String args[]){
int arr[]={2,11,45,9};
//i starts with 0 as array index starts with 0 too
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
输出:
2
11
45
9
增强for
循环
当您想要迭代数组/集合时,增强的for
循环很有用,它易于编写和理解。
让我们采用上面写的相同的例子,并使用增强的for
循环重写它。
class ForLoopExample3 {
public static void main(String args[]){
int arr[]={2,11,45,9};
for (int num : arr) {
System.out.println(num);
}
}
}
输出:
2
11
45
9
注意:在上面的例子中,我在增强的for
循环中声明了num
为int
。这将根据数组的数据类型而改变。例如,字符串类型的增强for
循环如下所示:
String arr[]={"hi","hello","bye"};
for (String str : arr) {
System.out.println(str);
}