do while 和while的区别

如题所述

do while 和while的区别

while和do…while语句都是循环语句,功能都差不多,唯一的区别在于检验条件的时间上。while语句在进入循环体之前要先判断条件是否成立,如果成立的话则进入循环体。
而do…while语句则相反,是先执行循环体,然后再判断条件是否成立,如果成立的话则继续循环体,如果不成立则跳出循环,也就是说对于do…while语句,不管条件是否成立都要先执行一遍。

while和do-while的使用方法
一、while语句的一般形式为:
while(表达式)语句
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时,
执行循环体语句。

二、do-while语句的一般形式为:
do
语句
while(表达式);
这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,
如果为真则继续循环;如果为假, 则终止循环。因此,
do-while循环至少要执行一次循环语句。
使用while语句应注意以下几点:
1、while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
2、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-06
while

是先判断再执行

例:

int
i=10;

while(i<10){
System.err.println(i);
i++;
}
结果是什么都不打印,最终i的值为10

do-while

是先执行再判断

例:

int i=10;
do{
System.err.println(i);
i++;
}while(i<10);
打印的也是10,最终i=11

两者的区别在于第一圈循环时,while是先判断循环条件,再循环.所以第一个程序什么都不打印.

而do-while则是先执行后判断.所以,第二个程序先打印10,然后i++然后跳出循环.

例:

public static void main(String[] args) {

// TODO Auto-generated method stub

int num;

int count;

count = 0;

num = 20;

while (num < 250) {

num += 20;

count++;

}

System.err.println("while:"+count+"次");

count = 0;

num = 20;

do {

num += 20;

count++;

} while (num < 250);

System.err.println("do-while:"+count+"次"); }

输出结果:

while:12次

do-while:12次

分析:

num+ = 20;可以理解为num = num +20;

例:

int a=0;

for(i=1;i<=100;i++){

a=a+i;

}

其中,a=a+i一句可以替换为a+=i,效果一样.为便于理解,你可以把a+=i读做"a加的是i"
相似回答