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;
}
}
}
下面是这个程序生成的示例运行: