Java教程-详解 Java for 循环语句

Java for 循环用于多次迭代程序的一部分。如果迭代次数固定,建议使用for循环。
Java 中有三种类型的 for 循环。
- 简单的 for 循环
- For-each或增强型 for 循环
- 标记为循环
Java 简单 for 循环
一个简单的for循环在Java中与C/C++相似。它由四个部分组成:初始化、条件、递增/递减和循环体。
- 初始化:在循环开始之前执行的初始条件。在这里,我们可以初始化变量,也可以使用已经初始化的变量。这是一个可选部分,可以省略。
- 条件:在每次循环迭代之前进行测试的条件。只要条件为真,循环就会继续执行。它必须返回布尔值true或false。这也是一个可选部分,可以省略。如果省略条件部分,则被认为始终为true。
- 递增/递减:在每次循环迭代之后执行的操作,用于递增或递减循环变量的值。这也是一个可选部分,可以省略。
- 循环体:在每次循环迭代时执行的语句块。它是循环的实际操作部分。
句法:
for(initialization; condition; increment/decrement){
//要执行的语句或代码
}
流程图:
例子:
ForExample.java
//Java程序演示for循环的例子
// 打印表 1
public class ForExample {
public static void main(String[] args) {
//Code of Java for loop
for(int i=1;i<=10;i++){
System.out.println(i);
}
}
}
输出:
1
2
3
4
5
6
7
8
9
10
Java 嵌套 for 循环
如果我们在另一个循环中有一个 for 循环,它被称为嵌套 for 循环。只要外循环执行,内循环就会完全执行。
例子:
NestedForExample.java
public class NestedForExample {
public static void main(String[] args) {
//i的循环
for(int i=1;i<=3;i++){
//j的循环
for(int j=1;j<=3;j++){
System.out.println(i+" "+j);
}//end of i
}//end of j
}
}
输出:
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
金字塔示例 1:
PyramidExample.java
public class PyramidExample {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print("* ");
}
System.out.println();//新的一行
}
}
}
输出:
*
* *
* * *
* * * *
* * * * *
金字塔示例 2:
PyramidExample2.java
public class PyramidExample2 {
public static void main(String[] args) {
int term=6;
for(int i=1;i<=term;i++){
for(int j=term;j>=i;j--){
System.out.print("* ");
}
System.out.println();//新的一行
}
}
}
输出:
* * * * * *
* * * * *
* * * *
* * *
* *
*
Java for-each 循环
for-each 循环用于遍历 Java 中的数组或集合。它比简单的 for 循环更容易使用,因为我们不需要增加值和使用下标表示法。
它基于元素而不是索引工作。它在定义的变量中一个一个地返回元素。
句法:
for(data_type variable : array_name){
//要执行的代码
}
例子:
ForEachExample.java
//Java For-each 循环示例打印
//数组元素
public class ForEachExample {
public static void main(String[] args) {
//声明一个数组
int arr[]={12,23,44,56,78};
//使用for-each循环打印数组
for(int i:arr){
System.out.println(i);
}
}
}
输出:
12
23
44
56
78
Java 标记为循环
我们可以为每个 Java for 循环命名。为此,我们在 for 循环之前使用标签。这在使用嵌套 for 循环时很有用,因为我们可以中断/继续特定的 for 循环。
注意:break 和 continue 关键字分别中断或继续最内层的 for 循环。
句法:
labelname:
for(initialization; condition; increment/decrement){
//要执行的代码
}
例子:
LabeledForExample.java
//一个Java程序来演示标记for循环的使用
public class LabeledForExample {
public static void main(String[] args) {
//在外层和for循环中使用Label
aa:
for(int i=1;i<=3;i++){
bb:
for(int j=1;j<=3;j++){
if(i==2&&j==2){
break aa;
}
System.out.println(i+" "+j);
}
}
}
}
输出:
1 1
1 2
1 3
2 1
如果你使用break bb; ,它只会打破内部循环,这是任何循环的默认行为。
LabeledForExample2.java
public class LabeledForExample2 {
public static void main(String[] args) {
aa:
for(int i=1;i<=3;i++){
bb:
for(int j=1;j<=3;j++){
if(i==2&&j==2){
break bb;
}
System.out.println(i+" "+j);
}
}
}
}
输出:
1 1
1 2
1 3
2 1
3 1
3 2
3 3
Java 不定式 for 循环
如果你使用两个分号 ;; 在for循环中,它将是不定式for循环。
句法:
for(;;){
//要执行的代码
}
例子:
ForExample.java
//Java程序演示无限for循环的使用
//打印一条语句
public class ForExample {
public static void main(String[] args) {
//在for循环中不使用条件
for(;;){
System.out.println("无限循环");
}
}
}
输出:
无限循环
无限循环
无限循环
无限循环
无限循环
Ctrl+C
现在,您需要按 ctrl+c 退出程序。
Java for 循环 vs while 循环 vs do-while 循环
比较 | for循环 | while循环 | do-while 循环 |
---|---|---|---|
介绍 | Java for 循环是一种控制流语句,它多次迭代程序的一部分。 | Java while 循环是一种控制流语句,它根据给定的布尔条件重复执行程序的一部分。 | Java do while 循环是一种控制流语句,它至少执行程序的一部分,进一步执行取决于给定的布尔条件。 |
何时使用 | 如果迭代次数固定,建议使用for循环。 | 如果迭代次数不固定,建议使用while循环。 | 如果迭代次数不固定,必须至少执行一次循环,建议使用do-while循环。 |
句法 | for(init;condition;incr/decr){ // 要执行的代码 } | while(condition){ //要执行的代码 } | do{ //要执行的代码 }while(condition); |
例子 | //for 循环 for(int i=1;i<=10;i++){ System.out.println(i); } | //while 循环 int i=1; while(i<=10){ System.out.println(i); 我++; } | //do-while 循环 int i=1; 做{ System.out.println(i); 我++; }而(我<=10); |
无限循环的语法 | for(;;){ //要执行的代码 } | while(true){ //要执行的代码 } | do{ //要执行的代码 }while(true); |