Java基础篇:循环语句之do-while循环

  • Post author:
  • Post category:java


如果while循环一开始条件表达式就是假的,那么循环体就根本不被执行。然而,有时需要在开始时条件表达式即使是假的情况下,while循环至少也要执行一次。

换句话说,有时你需要在一次循环结束后再测试中止表达式,而不是在循环开始时。幸运的是,Java就提供了这样的循环:do-while循环。do-while循环总是执行它的循环体至少一次,因为它的条件表达式在循环的结尾。它的通用格式如下:

do { 
// body of loop 
} while (condition);

do-while循环总是先执行循环体,然后再计算条件表达式。如果表达式为真,则循环继续。否则,循环结束。对所有的Java循环都一样,条件condition必须是一个布尔表达式。

下面是一个重写的“tick”程序,用来演示do-while循环。它的输出与先前程序的输出相同。

// Demonstrate the do-while loop. 
class DoWhile { 
 public static void main(String args[]) { 
  int n = 10; 
  do { 
  System.out.println("tick " + n); 
  n--; 
  } while(n > 0); 
} 
}

该程序中的循环虽然在技术上是正确的,但可以像如下这样编写更为高效:

do { 
 System.out.println("tick " + n); 
} while(--n > 0); 

在本例中,表达式“– n > 0 ”将n值的递减与测试n是否为0组合在一个表达式中。它的执行过程是这样的。首先,执行– n 语句,将变量n递减,然后返回n的新值。这个值再与0比较,如果比0大,则循环继续。否则结束。

do-while循环在你编制菜单选择时尤为有用,因为通常都想让菜单循环体至少执行一次。下面的程序是一个实现Java选择和重复语句的很简单的帮助系统:

// Using a do-while to process a menu selection 
class Menu {
    
public static void main(String args[]) 
throws java.io.IOException {
    
char choice; 
do {
    
System.out.println("Help on:"); 
System.out.println(" 1. if"



版权声明:本文为kaikeba原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。