Java 中,for 循环是一个常用的循环结构,用于多次执行一段代码。for 循环通常在迭代次数明确的情况下使用。与 while 循环相比,for 循环的语法更加简洁,更适合用于遍历数组、集合等。本文主要介绍一下Java中,for循环语句的使用。

1、Java for 循环

当确切地知道要遍历代码块的次数时,使用for循环更方便而不是while循环,如果没有更新表达式或者条件表达式总是为 true,可能导致程序陷入死循环。

语法

for (statement 1; statement 2; statement 3) {
  // 要执行的代码块
}

statement 1在执行代码块之前执行(一次)。

statement 2定义了执行代码块的条件。

在执行代码块后(每次)都会执行statement 3

下面的示例将打印输出数字04

例如:

for (int i = 0; i < 5; i++) {
  System.out.println(i);
} 

2、for循环示例代码 

此示例将只输出010之间的偶数:

例如:

for (int i = 0; i <= 10; i = i + 2) { System.out.println(i); }

3、for-each 循环

Java 中的 for-each 循环(也称增强型 for 循环)是一种简洁的循环形式,通常用于遍历数组或集合。它的主要优点是易于书写和阅读,不需要处理下标索引或迭代器。

语法

for (type variableName : arrayName) {
  // 要执行的代码块
}

以下示例使用for-each循环输出angs数组中的所有元素:

例如:

String[] langs = {"c", "java", "python", "cjavapy"};
for (String i : langs) {
  System.out.println(i);
}

4、break 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

break 跳出最里层的循环,并且继续执行该循环下面的语句。

例如,

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  System.out.println(i);
}

5、continue 关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

for 循环中,continue 语句使程序立即跳转到更新语句。

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  System.out.println(i);
}

6、嵌套 for 循环

Java 中的嵌套 for 循环是指在一个 for 循环的循环体内又嵌套了一个或多个 for 循环。每个嵌套循环都有自己的控制变量和循环条件,嵌套循环的执行遵循外层循环控制内层循环的原则。

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) { // 外层控制乘数
            for (int j = 1; j <= i; j++) { // 内层控制被乘数
                System.out.print(j + " * " + i + " = " + (i * j) + "\t");
            }
            System.out.println(); // 换行
        }
    }
}

7、 for 循环的灵活使用

Java 中,for 循环非常灵活,可以通过调整初始化、条件和更新表达式实现各种复杂的逻辑。

1)省略初始化表达式

public class Main {
    public static void main(String[] args) {
        int i = 1; // 初始化在外部
        for (; i <= 5; i++) {
            System.out.println("当前值: " + i);
        }
    }
}

2)省略更新表达式

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 5;) {
            System.out.println("当前值: " + i);
            i++; // 手动更新
        }
    }
}

3)省略条件表达式

public class Main {
    public static void main(String[] args) {
        for (int i = 1;; i++) { // 无条件表达式
            if (i > 5) {
                break; // 手动退出
            }
            System.out.println("当前值: " + i);
        }
    }
}

4)完全省略所有表达式

public class Main {
    public static void main(String[] args) {
        int i = 1;
        for (;;) { // 无限循环
            if (i > 5) {
                break; // 终止循环
            }
            System.out.println("当前值: " + i);
            i++;
        }
    }
}

5)多变量控制

public class Main {
    public static void main(String[] args) {
        for (int i = 1, j = 10; i <= 5; i++, j--) { // 两个变量
            System.out.println("i: " + i + ", j: " + j);
        }
    }
}

推荐文档