Java while循环
时间:2020-02-23 14:37:00 来源:igfitidea点击:
Java while循环用于连续执行语句块,直到给定条件成立为止。
之前我们研究了Java for循环。
Java while循环
Java语法中的while循环如下。
while (expression) { //statements }
for表达式的while循环必须返回布尔值,否则将抛出编译时错误。
While循环Java流程图
Java while循环示例
这是一个简单的java while循环示例,可打印5到10之间的数字。
package com.theitroad.javawhileloop; public class JavaWhileLoop { public static void main(String[] args) { int i = 5; while (i <= 10) { System.out.println(i); i++; } } }
注意,我在while循环中增加i的值,否则while循环将永远不会终止,而我们将有一个无限循环。
终止以无限循环运行的程序的唯一方法是手动退出它,或者在JVM内存不足时退出。
另请注意,如果布尔表达式返回false,则while循环中的语句将不会执行。
因此,while循环内的语句将永远不会执行。
Java While循环与迭代器
Java while循环在Java中与迭代器一起使用很多。
让我们来看一个使用while循环迭代ArrayList的简短示例。
List<String> veggies = new ArrayList<>(); veggies.add("Spinach"); veggies.add("Potato"); veggies.add("Tomato"); Iterator<String> it = veggies.iterator(); while(it.hasNext()) { System.out.println(it.next()); }
它将打印如下输出。
Spinach Potato Tomato
而真正的java
有时我们有意地希望while循环无限运行。
在这种情况下,我们可以使用while true循环。
一个示例可能是连续在特定位置查找文件,如果找到该文件,则对其进行处理。
以下是Java中while真正循环的伪代码示例。
package com.theitroad.javawhileloop; public class WhileTrueJava { public static void main(String[] args) { while(true) { System.out.println("Start Processing"); //look for a file at specific directory //if found then process it, say insert rows into database System.out.println("End Processing"); // wait for 10 seconds and look again try { Thread.sleep(10*1000); } catch (InterruptedException e) { System.out.println("Thread Interrupted, exit now"); System.exit(0); } } } }
如果运行上述程序,则必须在终端上使用Ctrl + C手动退出。
如果使用的是Eclipse,则有一个红色按钮可以终止当前正在运行的程序。
假设您在一个类中编写了一些代码,并且该代码正在进行中,因此您不想执行它。
我们可以将其包装在false循环中而根本不执行吗?
Java编译器非常聪明,足以给我们带来代码无法到达的编译错误。
下面是Eclipse编辑器的图像,以及当我们尝试从终端编译程序时的图像。
但是还有另一种方法可以实现,使用伪布尔变量,编译器错误将消失。
boolean mutex = false; while(mutex) { System.out.println("incomplete code"); }