CodeGym /Java 博客 /随机的 /Java While 循环
John Squirrels
第 41 级
San Francisco

Java While 循环

已在 随机的 群组中发布
while循环几乎在所有编程语言中都有,Java 也不例外。Java 和其他语言中的While循环只要触发它的条件值为真,就会执行一条语句或语句块。在本文中,我们将讨论如何使用while循环。 Java While 循环 - 1

循环有什么用?

你的第一个程序是一系列指令,一步一步地执行。没有分叉和重复。后来我们开始在条件运算符的帮助下使用分支。嗯,为了执行重复的动作,有循环。也许循环是流程自动化为新手程序员带来的最明显的好处之一。想象一下,您需要编写一个跟踪器程序来计算一天的步数。例如,当您通过 10,000 步时,程序会向您发送有关已实现目标的通知。发出通知的任务可以用这样的文字(或伪代码)来表达:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
也就是说,只要步数等于条件中指定的步数,程序就会退出此循环并发送通知。或者另一个例子。想象一下,您需要记住一首诗(或演讲)。一首诗如果你能不偷看地连续读三遍就可以算背熟了。如果你想象一个程序可以捕捉你背诵一首诗的尝试,它也必须使用一个循环:

While (success < 3)
learn a poem
所有现代教育应用程序都使用类似的结构,例如,学习语言或演奏乐器。

while循环及其结构

要解决上述示例的问题,更一般地说,要在 Java 中自动执行重复操作,您可以使用while循环。Java while循环在我们的例子中会很好地工作。这种设计将多个动作安排在一个简洁易懂的结构中。while循环语句在几乎所有的编程语言中都有。只要其控制表达式的值为真,它就会重复一条语句或语句块。while循环的形式如下:

while(condition == true) {
    // statement or loop body
}
条件必须是一个布尔表达式,也就是说,可以说是真或假。以下是布尔表达式的一些示例:

s != "exit";
a > 5;
true;
只要条件表达式为真,就会执行循环体。当条件变为假时,控制权将转移到循环之后的代码行。如果循环中只使用一条语句,那么大括号可以省略(但最好不要这样做)。在while循环开始之前计算逻辑表达式,然后在每次重复执行语句之前计算一次。

While 循环示例

让我们编写一个程序,使用while循环对从 1 到 10 的所有数字求和:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
输出是:
55
我们需要计算从 1(或从 0,无所谓)到 10 的所有数字的总和。我们让初始总和和第一个元素都为零,并且每次通过都会将元素增加 1循环。我们将继续求和,直到参数等于 10(即小于 11。类似地,我们可以写条件i <= 10)。让我们再举一个 Java while循环的例子。我们将编写一个程序,让用户输入正整数。如果他们输入零或负数,程序应该报告并完成工作。

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
您可以改进程序并向其添加内容,例如,检查用户是否输入了一个数字而不是其他字符,或者该数字是否为整数。

do-while 循环

如上例所示,经典的while循环会立即检查条件是否为真。因此,它可以称为有前提条件的循环。while循环有一个兄弟 do-while,一个带有后置条件的循环。也就是说,在条件真值测试发生之前,这样的循环至少会执行一次:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
因此,具有此类循环的第一个示例如下所示:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

无限循环

while循环可用于组织while(true)形式的无限循环:例如,这是一个无休止地(有一些细微差别)打印一系列整数的程序

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
为了巩固您所学的知识,我们建议您观看我们的 Java 课程中的视频课程
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION