Java for循环

1 Java语言的循环

在Java语言中,循环用于重复执行一组指令/功能。Java中有三种循环类型。

  • for循环
  • while循环
  • do-while循环

2 for while do-while的区别

比较方式 for循环 while循环 do-while循环
说明 Java for循环是一个控制流语句,它多次迭代一部分程序。 Java while循环是一个控制流语句,它根据给定的布尔条件重复执行部分程序。 Java do-while循环是一个控制流语句,该语句至少执行一次程序体内容,是否再次致谢程序体取决于给定的布尔条件。
何时使用 如果迭代次数是固定的,建议使用for循环。 如果迭代次数不固定,建议使用while循环。 如果迭代次数不固定,并且必须至少执行一次循环,则建议使用do-while循环。
语法 for(初始化;条件;增/减操作){  
// 循环体 
}
while(条件){  
//循环体 
}
do{  
//循环体  
}while(条件);
实例 for(int i=1;i<=10;i++){  System.out.println(i); 
}  
int i=1;  
while(i<=10){  
System.out.println(i);  
i++;  
}  
int i=1;  
do{  
System.out.println(i); 
i++;  
}while(i<=10); 
死循环语法 for(;;){  
//循环体  
}
while(true){  
//循环体 
}
do{  
//循环体  
}while(true);  

3 Java for循环介绍

Java for循环用于多次迭代程序。如果迭代次数是固定的,建议使用for循环。

Java中有三种类型的for循环。

  • 简单的循环
  • for-each或增强for循环
  • 带标签的for循环

4 Java 简单的for循环

Java的简单for循环与C/C ++相同。它包括四个部分:

  • 条件表达式1:这是循环开始时执行一次的初始条件。在这里,我们可以初始化变量,也可以使用已经初始化的变量。这是一个可选条件。
  • 条件表达式1:这是第二个条件,每次执行时都要测试循环条件。它继续执行直到条件为false。它必须返回布尔值true或false。这是一个可选条件。
  • 语句:循环语句每次执行一次,直到第二个条件为false。
  • 条件表达式1:递增或递减变量值。这是一个可选条件。

4.1 Java for循环语法

for(条件表达式1;条件表达式2;条件表达式3) {
    语句;
}

for 循环语句执行的过程为:首先执行条件表达式 1 进行初始化,然后判断条件表达式 2 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行表达式 3,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件表达式 2 的值为 false,才结束循环,其运行流程如下图所示。

4.2 Java for循环示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    public static void main(String[] args) {
        //for循环代码示例  
        for(int i=1;i<=10;i++){
            System.out.println(i);
        }
    }
}

输出结果为:

1
2
3
4
5
6
7
8
9
10

5 Java 嵌套for循环

如果在另一个循环中有另一个for循环,则称为嵌套for循环。每当执行外循环时,内循环就完全执行。

5.1 Java 嵌套for循环示例1

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    public static void main(String[] args) {
        //外循环 
        for(int i=1;i<=3;i++){
            //内循环
            for(int j=1;j<=3;j++){
                System.out.println(i+" "+j);
            }
        } 
    }
}

输出结果为:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

5.2 Java 嵌套for循环示例2

使用for循环打印金字塔:

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    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();//换行
        }
    }
}

输出结果为:

* 
* * 
* * * 
* * * * 
* * * * * 

5.3 Java 嵌套for循环示例3

使用for循环打印倒金字塔:

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    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();//换行
        }
    }
}

输出结果为:

* * * * * * 
* * * * * 
* * * * 
* * * 
* * 
* 

6 Java for-each循环

for-each循环用于遍历Java中的数组或集合。它比简单的for循环更容易使用,因为我们不需要增加值并使用下标表示法。

它基于元素而不是索引工作。它在定义的变量中一一返回元素。

6.1 Java for-each循环语法

for(类型 变量:数值){  
   //循环体
} 

6.2 Java for-each循环示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    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

7 Java 带标签的for循环

我们可以为每个Java for循环命名。我们在for循环之前使用label。如果我们嵌套了for循环,则可以对for循环进行break/continue,这很有用。

注意:通常break和continue关键字仅中断/继续最里面的for循环

7.1 带标签的for循环语法

标签名称:
  
for(条件表达式1;条件表达式2;条件表达式3){  
    //语句
}  

7.2 带标签的for循环示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    public static void main(String[] args) {
        //带标签的for循环
        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; ,它将仅break内部循环,这是任何循环的默认行为。

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    public static void main(String[] args) {
        //带标签的for循环
        aa: //标签名
        for(int i=1;i<=3;i++){
            bb:
            for(int j=1;j<=3;j++){
                if(i==2&&j==2){
                    break bb; //跳出bb循环
                }
                System.out.println(i+" "+j);
            }
        }
    }
}

输出结果为:

1 1
1 2
1 3
2 1
3 1
3 2
3 3

8 Java for的死循环

如果使用两个分号;; 在for循环中,它就是一个不能结束的死循环了。

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {

    public static void main(String[] args) {
        //for循环的死循环
        for(;;){
            System.out.println("死循环...");
        }
    }
}

输出结果为:

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码