# `while`和`do-while`语句

> 原文： [https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html)

`while`语句在特定条件为`true`时不断执行语句块。其语法可表示为：

```
while (expression) {
     statement(s)
}

```

`while`语句评估 _ 表达式 _，它必须返回`boolean`值。如果表达式求值为`true`，则`while`语句执行`while`块中的 _ 语句 _（s）。 `while`语句继续测试表达式并执行其块，直到表达式求值为`false`。使用`while`语句打印 1 到 10 之间的值可以按照以下 [`WhileDemo`](examples/WhileDemo.java) 程序完成：

```
class WhileDemo {
    public static void main(String[] args){
        int count = 1;
        while (count < 11) {
            System.out.println("Count is: " + count);
            count++;
        }
    }
}

```

您可以使用`while`语句实现无限循环，如下所示：

```
while (true){
    // your code goes here
}

```

Java 编程语言还提供了`do-while`语句，可以表示如下：

```
do {
     statement(s)
} while (expression);

```

`do-while`和`while`之间的区别在于`do-while`评估其在循环底部而不是顶部的表达式。因此，`do`块中的语句总是至少执行一次，如下面的 [`DoWhileDemo`](examples/DoWhileDemo.java) 程序所示：

```
class DoWhileDemo {
    public static void main(String[] args){
        int count = 1;
        do {
            System.out.println("Count is: " + count);
            count++;
        } while (count < 11);
    }
}

```