Java教程 - Java While语句
while循环在其控制条件为真时重复语句或块。
Java while循环
这是它的一般形式:
while(condition) {
// body of loop
}
- 条件可以是任何布尔表达式。
- 只要条件条件为真,循环的主体将被执行。
- 如果只重复单个语句,花括号是不必要的。
这里是一个while循环,从10减少,打印十行“tick":
public class Main {
public static void main(String args[]) {
int n = 10;
while (n > 0) {
System.out.println("n:" + n);
n--;
}
}
}
当你运行这个程序,你会得到以下结果:

例子
以下代码显示如何使用while循环来计算和。
public class Main {
public static void main(String[] args) {
int limit = 20;
int sum = 0;
int i = 1;
while (i <= limit) {
sum += i++;
}
System.out.println("sum = " + sum);
}
}
上面的代码生成以下结果。

例2
如果条件是 false
,则 while
循环的正文将不会执行。例如,在以下片段中,从不执行对 println()
的调用:
public class Main {
public static void main(String[] argv) {
int a = 10, b = 20;
while (a > b) {
System.out.println("This will not be displayed");
}
System.out.println("You are here");
}
}
输出:

例3
while
的正文可以为空。例如,考虑以下程序:
public class Main {
public static void main(String args[]) {
int i, j;
i = 10;
j = 20;
// find midpoint between i and j
while (++i < --j)
;
System.out.println("Midpoint is " + i);
}
}
上面代码中的 while
循环没有循环体和 i
和 j
在while循环条件语句中计算。它生成以下输出:

Java do while循环
要执行while循环的主体至少一次,可以使用do-while循环。
Java do while循环的语法是:
do {
// body of loop
} while (condition);
这里是一个例子,显示如何使用 do-while
循环。
public class Main {
public static void main(String args[]) {
int n = 10;
do {
System.out.println("n:" + n);
n--;
} while (n > 0);
}
}
输出:

前面程序中的循环可以写成:
public class Main {
public static void main(String args[]) {
int n = 10;
do {
System.out.println("n:" + n);
} while (--n > 0);
}
}
输出与上面的结果相同:

例4
以下程序使用 do-while
实现了一个非常简单的帮助系统循环和 swith语句。
public class Main { public static void main(String args[]) throws java.io.IOException {
char choice;
do {
System.out.println("Help on:");
System.out.println(" 1. A");
System.out.println(" 2. B");
System.out.println(" 3. C");
System.out.println(" 4. D");
System.out.println(" 5. E");
System.out.println("Choose one:");
choice = (char) System.in.read();
} while (choice < '1' || choice > '5');
System.out.println("\n");
switch (choice) {
case '1':
System.out.println("A");
break;
case '2':
System.out.println("B");
break;
case '3':
System.out.println("C");
break;
case '4':
System.out.println("D");
break;
case '5':
System.out.println("E");
break;
}
}
}
下面是这个程序生成的示例运行:
