while循环
while循环不像for循环那样有多个不同的组成部分,它所需要的只是一个条件测试,由while语句来完成。下面是一个while循环语句的例子:
while (gameLives > 0) {
// the statements inside the loop go here
}
该循环将不断重复,直到变量gameLives小于等于0。
while语句在循环一开始,即执行循环中的任何语句之前,就测试条件。因此,如果程序首次运行到while语句时,测试条件为false,循环体中的语句将根本不会执行。
如果while条件为true,将执行循环一次,然后再测试while条件。如果在循环体内不改变测试条件,循环将无休止地执行下去。
下面的语句使用while循环显示同一行文本多次:
int limit = 5;
int count = 1;
while (count < limit) {
System.out.println("Pork is not a verb");
count++;
}
while循环会使用在循环语句之前设置的一个或多个变量。在这个例子中,创建了两个整型变量:limit和count,其中limit的值为5,count的值为1。
该while循环显示文本“Pork is not a verb”4次,如果将变量count的初始值改为6,将不会显示这行文本。
do-while循环
do-while循环的功能类似于 while 循环,但测试条件的位置不同。下面是一个 do-while循环的例子:
do {
// the statements inside the loop go here
} while (gameLives > 0);
与前面的while循环类似,该循环不断执行,直到变量gameLives不再大于0。do-while循环的不同之处在于,条件测试是在循环体语句之后而不是之前执行的。
当程序首次运行到do循环时,do和while之间的语句被自动执行,然后再测试while条件以决定是否继续循环。如果while条件为true,循环将再次执行;如果while条件为false,循环结束。在 do 和 while 语句之间,必须有改变条件的语句,否则循环将一直进行下去。do-while循环体内的语句至少会执行一次。
下列语句使用do-while循环显示相同的文本行多次:
int limit = 5;
int count = 1;
do {
System.out.println("I am not allergic to long division");
count++;
} while (count < limit);
与while循环类似,do-while循环会在循环语句之前使用已经设置的一个或多个变量。
该循环显示文本“I will not allergic to long division”4次。如果将变量count的初始值设置为6,尽管count大于limit,文本仍将显示1次。
在第一次执行do-while循环时,即使循环条件为false,循环体内的语句也会被执行一次。