for 语句

for语句提供了一种紧凑的方法来迭代一系列值。程序员通常将其称为“ for 循环”,因为它反复循环直到满足特定条件为止。 for语句的一般形式可以表示为:

for (initialization; termination;
     increment) {
    statement(s)
}

使用此版本的for语句时,请记住:

    • initialization *表达式初始化循环;当循环开始时,它执行一次。
  • 当* termination *表达式的值为false时,循环终止。

  • 每次循环迭代后,都会调用* increment *表达式;对于该表达式,增加或减少值是完全可以接受的。

以下程序ForDemo使用for语句的一般形式将数字 1 到 10 打印到标准输出中:

class ForDemo {
    public static void main(String[] args){
         for(int i=1; i<11; i++){
              System.out.println("Count is: " + i);
         }
    }
}

该程序的输出为:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10

注意代码如何在初始化表达式中声明变量。此变量的范围从其声明扩展到受for语句控制的块的末尾,因此它也可以在终止和增量表达式中使用。如果循环外不需要控制for语句的变量,则最好在初始化表达式中声明该变量。名称ijk通常用于控制for循环。在初始化表达式中声明它们会限制它们的寿命并减少错误。

for循环的三个表达式是可选的;可以如下创建无限循环:

// infinite loop
for ( ; ; ) {
    
    // your code goes here
}

for语句还具有另一种形式,用于通过Collectionsarrays进行迭代。该形式有时称为增强for 语句,可用于使循环更紧凑和更易于阅读。为了演示,请考虑以下数组,该数组包含数字 1 到 10:

int[] numbers = {1,2,3,4,5,6,7,8,9,10};

以下程序EnhancedForDemo使用增强的for遍历数组:

class EnhancedForDemo {
    public static void main(String[] args){
         int[] numbers = 
             {1,2,3,4,5,6,7,8,9,10};
         for (int item : numbers) {
             System.out.println("Count is: " + item);
         }
    }
}

在此示例中,变量item保存了数字数组中的当前值。该程序的输出与以前相同:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10

我们建议尽可能使用这种形式的for语句,而不是一般形式。