15-Java while 和 do...while循环
Java while 和 do…while循环在本教程中我们将借助示例来学习如何在Java中使用while和do…while循环并且还将学习while循环在计算机编程中的工作方式在计算机编程中循环用于重复特定的代码块直到满足特定条件测试表达式为false为止。例如想象一下我们需要在屏幕上打印一个句子50次。好吧我们可以通过使用print语句50次不使用循环来做到这一点。您需要打印一百万次句子怎么样您需要使用循环。使用循环我们可以只编写一次print语句然后运行任意次数。这只是一个简单的示例显示了循环在计算机编程中的重要性。Java中有3种循环类型for 循环while 循环do-while 循环Java while循环Java 中 while循环的语法为while (testExpression) { // while循环体中的代码 }while循环如何工作在以上语法中括号内的测试表达式(testExpression)为布尔表达式。如果测试表达式(testExpression)的计算结果为truewhile循环内的语句将被执行。然后再次评估测试表达式(testExpression)。这个过程一直进行到测试表达式被评估为false为止。如果测试表达式的计算结果为false则while循环被终止。While循环流程图示例1while循环//程序打印行10次 class Loop { public static void main(String[] args) { int i 1; while (i 10) { System.out.println(Line i); i; } } }输出Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10在上面的示例中我们有一个测试表达式i 10。它检查i的值是否小于或等于10。最初此处i的值为1。因此测试表达式(testExpression)的计算结果为true。因此将执行while循环内的print语句。请注意while循环内的语句i;该语句在每次迭代中将i值增加1。经过10次迭代后i的值为11。然后测试表达式i 10为false求和while循环终止。示例2Java while循环//编程以查找1到100之间的自然数之和。 class AssignmentOperator { public static void main(String[] args) { int sum 0, i 100; while (i ! 0) { sum i; // 等同于 sum sum i; --i; } System.out.println(Sum sum); } }输出Sum 5050在这里我们有两个名为sumi的变量其初始值分别为0和100。在while循环的每次迭代中为sum变量分配值sum ii的值减少1循环一直进行到的值i等于0 为止。1st 重复: i 100, sum 0100 100, 同时 --i 99 2nd 重复: i 99, sum 10099 199, 同时 --i 98 3rd 重复: i 98, sum 19998 297, 同时 --i 97 ... .. ... ... .. ... 99th 重复: i 2, sum 50472 5049, 同时 --i 1 100th 重复: i 1, sum 50491 5050, 同时 --i 0Java do… while循环do…while循环类似于while循环但是有个关键区别在于在检查测试表达式之前会执行循环主体一次。这是do…while循环的语法。do { // do...while循环体内的代码 } while (testExpression);do… while循环如何工作do…while循环主体执行一次在检查测试表达式之前。只有这样测试表达式才会被检查。如果测试表达式被计算为true则执行循环体中的代码并再次计算测试表达式。这个过程一直进行下去直到测试表达式被计算为false为止。当测试表达式为时falsedo…while循环终止。do … while循环流程图示例3do … while循环下面的程序计算用户输入的数字总和直到用户输入0。import java.util.Scanner; class Sum { public static void main(String[] args) { Double number, sum 0.0; //创建一个Scanner类的对象 Scanner input new Scanner(System.in); do { //接受用户的输入 System.out.print(输入一个数字: ); number input.nextDouble(); sum number; } while (number ! 0.0); //测试表达 System.out.println(Sum sum); } }输出输入一个数字: 2.5 输入一个数字: 23.3 输入一个数字: -4.2 输入一个数字: 3.4 输入一个数字: 0 Sum 25.0无限循环在使用循环时我们应始终小心。 这是因为如果我们错误地设置了测试表达式使其永远不会为false则while和do … while循环将永远运行。这就是所谓的无限while和do…while循环。例如//无限while循环 while (true) { //while循环主体 }再举一个实例//无限while循环 int i 100; while (i 100) { System.out.print(Hey!); }无限do…while循环的工作方式与while循环类似。 福利时间如果你正在备战面试或者想要学习其他知识给大家推荐一个宝藏知识库作者整理了一些列 Java 程序员需要掌握的核心知识有需要的自取不谢。知识库地址https://farerboy.com/