Skip to content

Java while和do...while循环

在计算机编程中,循环用于重复执行一段代码。例如,如果您想要显示一个消息100次,可以使用循环。这只是一个简单的例子,您可以利用循环做更多的事情。

在之前的教程中,您已经学习了Java for循环。在这里,您将学习关于whiledo...while循环。


Java while循环

Java while循环用于在满足特定条件之前运行特定的代码。while循环的语法如下:

while (testExpression) {
    // 循环体
}

这里:

  1. while循环会在括号()内对testExpression进行求值。
  2. 如果testExpression的求值结果为true,则执行while循环内的代码。
  3. 再次对testExpression进行求值。
  4. 这个过程会一直持续,直到testExpression的求值结果为false
  5. testExpression的求值结果为false时,循环停止。

要了解更多有关条件的信息,请访问Java关系运算符逻辑运算符


while循环的流程图

Java中while循环的流程图
Java while循环的流程图


示例1:显示从1到5的数字

// 程序用于显示从1到5的数字

class Main {
  public static void main(String[] args) {

    // 声明变量
    int i = 1, n = 5;

    // while循环从1到5
    while(i <= n) {
      System.out.println(i);
      i++;
    }
  }
}

输出

1
2
3
4
5

这个程序的工作原理如下。

迭代变量条件:i <= n动作
第1次i = 1
n = 5true打印1。
将i增加到2
第2次i = 2
n = 5true打印2。
将i增加到3
第3次i = 3
n = 5true打印3。
将i增加到4
第4次i = 4
n = 5true打印4。
将i增加到5
第5次i = 5
n = 5true打印5。
将i增加到6
第6次i = 6
n = 5false循环终止

示例2:仅对正数求和

// Java程序用于计算正数的和
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
      
    int sum = 0;

    // 创建Scanner类的对象
    Scanner input = new Scanner(System.in);

    // 从用户输入整数
    System.out.println("输入一个数字");
    int number = input.nextInt();
	   
    // while循环持续 
    // 直到输入的数字为正数
    while (number >= 0) {
      // 仅添加正数
      sum += number;

      System.out.println("输入一个数字");
      number = input.nextInt();
    }
	   
    System.out.println("和 = " + sum);
    input.close();
  }
}

输出