1.反向循环

Java 有另一种while循环——do-while循环。它与普通while循环非常相似,也只包含两部分:“条件”和“循环体”。只要条件是,循环体就会一遍又一遍地执行true。一般来说,do-while循环看起来像这样:

do
   statement;
while (condition);

或者

do
{
   block of statements
}
while (condition);

对于一个while循环来说,执行的顺序是:条件循环体条件循环体条件循环体,...

但是对于一个do-while循环,它略有不同:循环体条件循环体条件循环体,......

事实上,while循环和do-while循环之间的唯一区别是循环体至少执行一次循环do-while


2.使用do-while循环的好处

do-while基本上,循环和循环之间的唯一区别while是循环do-while至少执行一次。

通常,do-while如果循环体尚未执行,则在检查循环条件没有意义时使用循环。例如,如果在循环体中执行某些计算,然后在条件中使用。

例子:

程序从键盘读取行,直到exit输入单词

尽管 做的时候
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

循环中的 and 语句的工作break方式与循环中的相同。continuedo-whilewhile


3. 比较do-while循环:Java 与 Pascal

再一次,Pascal 有一个do-while循环的模拟,但它被称为repeat-until循环。此外,它与循环略有不同do-while。在repeat-until循环中,条件指示何时退出循环而不是何时继续循环。

例子:

帕斯卡 爪哇
Repeat
   ReadLn(s);
Until s = 'exit';
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

与 Java 相比,Pascal 表示这一点的方式非常漂亮。我们必须从 Pascal 的例子开始,否则你会笑的。


2
任务
Java 语法,  第 6 级课程 5
已锁定
Cat 的 finalize 方法
意外丢失对象很难:只要对象有一个引用,它就会保持存活状态。但是,如果对象丢失,可以通过 finalize 方法来访问它,finalize 方法是为 Java 机器效劳的一个神出鬼没的刺客。我们来亲自创建这个方法:protected void finalize() throws Throwable。稍后我们会明白最后两个单词的含义。