文档

Java™ 教程-Java Tutorials 中文版
for 语句
Trail: Learning the Java Language
Lesson: Language Basics
Section: Control Flow Statements

for 语句

for 语句提供了一种在一系列值上迭代的简洁方法。程序员经常将其称为 "for 循环",因为它的重复循环直到满足特定的条件。for 语句的一般形式可表示如下:

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

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

以下程序 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 这种形式有时被称为enhanced for (增强型 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 保存 numbers 数组中的当前值。该程序的输出与之前的相同:

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 语句,而不是一般形式。


Previous page: The while and do-while Statements
Next page: Branching Statements