同时做和比较

问题描述

之间的区别do-whilewhile是 比较完成。使用do-while,您将在最后进行比较,因此至少要进行一次迭代。

您的示例的等效代码

do
{ 
    i++; 
    ++j;
    System.out.println( i * j );

}
while ((i < 10) && (j*j != 25));

等效于:

i++; 
++j;
System.out.println( i * j );
while ((i < 10) && (j*j != 25)) {
    i++; 
    ++j;
    System.out.println( i * j );
}

一般理解

do-while环是一个 出口控制的循环 ,这意味着它离开末。甲while环是一个 条目控制的循环 ,这意味着该条件在开始测试,并作为结果,循环内的代码可能甚至不被执行。

do {
    <block>
} while (<condition>);

等效于:

<block>
while (<condition>) {
    <block>
};

用例

a的典型用例如do-while下:您问用户一些问题,并且想要在输入不正确时重复操作。

do {
   // Ask something
} while (input is not correct);

在这种情况下,您至少要问一次,它通常比使用a更为优雅while,后者需要复制代码,添加额外条件或设置任意值以强制第一次进入循环。

相反,while循环是更常见的,可以很容易地替换do-while循环(并非所有语言都具有循环)。

解决方法

同时执行:

do
{ 
    i++; 
    ++j;
    System.out.println( i * j );

}
while ((i < 10) && (j*j != 25));

我目前正在学习do-while vs while,并且想用while重写上面的java片段(已经声明和初始化)。以下重写的代码是否正确:

而:

while ((i < 10) && (j*j != 25))
{
    i++;  
    ++j;
    System.out.println( i * j );
}

干杯

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...