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"
|