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、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句旦激。
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"