Java while循环语句

只要给定条件为真,Java编程语言中的while循环语句就会重复执行目标语句。

语法

while循环的语法是 -

while(boolean_expression) {
   // 执行语句
}

这里,语句可以是单个语句或语句块。 条件(boolean_expression)可以是任何表达式,true是任何非零值。

执行时,如果boolean_expression结果为true,则执行循环内的操作。只要表达式结果为true,它将继续执行。

当条件变为false时,程序控制将传递到紧接循环之后的代码。
While循环语句

这里,while循环有一个关键点是循环可能永远不会运行。 当测试表达式并且结果为false时,将跳过循环体并且将执行while循环之后的第一个语句。

示例1. Java while循环
这是一个简单的java while循环示例,用于打印510之间的数字。

//package com.zaixian.javawhileloop;

public class JavaWhileLoop {

    public static void main(String[] args) {

        int i = 5;
        while (i <= 10) {
            System.out.println(i);
            i++;
        }
    }
}

请注意,在循环中增加了i的值,否则while循环永远不会终止,因为它变成了无限循环。 终止程序在无限循环中运行的唯一方法是手动退出它或JVM内存不足时。

请注意,如果布尔表达式返回false,则while循环内的语句将不会执行。 所以while循环中的语句有可能永远不会执行。

示例2. Java迭代循环与迭代器

Java while循环在java中经常与迭代器一起使用。 下面来看一个使用while循环迭代ArrayList的简短示例。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class JavaWhileLoop {
    public static void main(String[] args) {
        List<String> veggies = new ArrayList<>();
        veggies.add("油麦菜");
        veggies.add("红豆角");
        veggies.add("西红柿");

        Iterator<String> it = veggies.iterator();

        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

执行上面示例代码,得到以下结果 -

油麦菜
红豆角
西红柿

示例3. while无限循环示例

有时希望循环无限运行。在这种情况下,可以使用while循环。 无限运行的一个例子是在特定位置连续查找文件,如果找到则然后处理它。 下面是java中while循环的伪代码示例。

//package com.zaixian.javawhileloop;

public class WhileTrueJava {

    public static void main(String[] args) {
        while(true) {
            System.out.println("开始处理");
            // 在特定目录中查找文件
            // 如果找到则处理它,比如将文件信息插入数据库
            System.out.println("结束处理");

            //  等待10秒,再继续处理...
            try {
                Thread.sleep(10*1000);
            } catch (InterruptedException e) {
                System.out.println("Thread Interrupted, exit now");
                System.exit(0);
            }
        }
    }

}

如果运行上面的程序,需要在终端上使用Ctrl + C手动退出程序。 如果使用的是Eclipse,则会有一个红色按钮来终止当前正在运行的程序。


上一篇: java中方法重载和方法重写的区别 下一篇:无