Java for循环语句用法详解(非常详细)
本节讲解 Java 中的 for 循环语句,通过它可以控制程序循环执行某些语句,从而达到控制程序流程的效果。
循环语句的作用就是对程序进行循环控制,它能控制程序循环执行某个代码块。在不使用循环语句的情况下,如果我们要执行 3 次如下图所示的代码块,就只能手工复制粘贴 3 次,并且只能次数固定,而不能根据变量值来决定循环几次。

图 1 循环控制
如果有了 for 循环语句,则可以很方便高效地实现上述需求:
通过下图来帮助我们理解 for 语法:

图 2 for语法解析

图 3 for语句流程
下面来看 for 语句的具体使用示例:
输出结果为:
for 语句还可以与 if 语句结合,从而增加循环体内的条件判断。例如:
运行程序,输出结果为:
例如:
循环语句的作用就是对程序进行循环控制,它能控制程序循环执行某个代码块。在不使用循环语句的情况下,如果我们要执行 3 次如下图所示的代码块,就只能手工复制粘贴 3 次,并且只能次数固定,而不能根据变量值来决定循环几次。

图 1 循环控制
如果有了 for 循环语句,则可以很方便高效地实现上述需求:
for (int i = 0; i < 3; i++) { 语句1; 语句2; 语句3; }
Java for语句语法
下面来看 for 循环语句的语法:for (表达式1;表达式2;表达式3) { 语句块 }
- 表达式 1 用于声明一个循环控制变量并对其进行初始化赋值;
- 表达式 2 用于判断是否要继续循环执行;
- 表达式 3 用于修改循环控制变量;
- 一对大括号所指定的范围称为循环体,循环体包含了一条或多条语句(语句块)。
通过下图来帮助我们理解 for 语法:

图 2 for语法解析
- 其中 int i = 0 是表达式 1,表示我们定义了一个变量 i 来进行循环控制;
- i < 10 是表达式 2,它会判断变量 i 是否小于 10,如果是则执行语句块,否则停止循环执行;
- i++ 是表达式 3,表示每执行一次循环体后都会让变量 i 自增 1。
Java for语句流程
如下图所示,结合 for 语句的语法看看它的执行流程:
图 3 for语句流程
- 首先将目光定位到表达式 1,定义一个变量并对其进行赋值,这部分从始到终只会被执行一次;
- 接着判断表达式 2 是否成立,如果成立则执行循环体;
- 执行完语句块后会执行表达式 3,修改循环控制变量;
- 然后进入下一轮的检测,继续判断表达式 2 是否成立,如果成立则再一次执行循环体;
- 接着又执行一次表达式 3;
- 不断重复上述的循环过程,直到表达式 2 的循环条件不成立时退出 for 循环,从而结束该循环过程。
下面来看 for 语句的具体使用示例:
public class ForStatementTest { public static void main(String[] args) { for (int i = 0; i < 3; i++) { System.out.println("语句1"); System.out.println("语句2"); System.out.println("语句3"); } } }该示例会循环执行 for 的大括号所指定的语句块,共执行三次。在执行过程中变量 i 从 0 开始,如果它小于 3 就会执行一次语句块,每执行完一次都让变量 i 自增 1。
输出结果为:
语句1
语句2
语句3
语句1
语句2
语句3
语句1
语句2
语句3
for 语句还可以与 if 语句结合,从而增加循环体内的条件判断。例如:
public class ForStatementTest2 { public static void main(String[] args) { for (int i = 0; i < 3; i++) { if (i == 0) { System.out.println("语句1"); System.out.println("语句2"); } System.out.println("语句3"); } } }当变量 i 等于 0 时才会输出“语句1”和“语句2”,其他条件下不输出。
运行程序,输出结果为:
语句1
语句2
语句3
语句3
语句3
Java for死循环
如果想要实现一个无限循环,可以通过for(;;)
来实现,例如:
public class ForStatementTest6 { public static void main(String[] args) { for (;;) { System.out.println("无限循环"); } } }此时它会无限输出“无限循环”。
Java嵌套for语句
我们还可以在一个 for 循环语句内再嵌套一个 for 循环语句,这样就可以达到嵌套循环的效果。例如:
public class ForStatementTest3 { public static void main(String[] args) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { System.out.println("i=" + i + ",j=" + j); } } } }可以看到两个 for 语句分别使用了 i 和 j 两个变量进行循环控制。输出结果为:
i=0,j=0
i=0,j=1
i=1,j=0
i=1,j=1
i=2,j=0
i=2,j=1