对学生来说,最讨厌的惩罚是在纸上或黑板上一遍又一遍地写东西。在电影The Simpsons(辛普森一家)中,Bart Simpson得经常到黑板上写“Organ transplants are best left to professionals”。这种惩罚对孩子也许有效,但对计算机完全无用,因为计算机可以轻松地重复一项任务。
计算机程序最适合重复地做相同的事情,因为有循环。循环是在程序中重复执行的一条语句或一组语句。有些循环执行固定的次数,有些循环则可以无限期地执行。
Java中有3种循环语句:for、do和while。这3个循环语句的工作方式相似,但是了解其各自的工作机制仍然大有裨益。通过选择合适的循环语句,可以简化程序的循环部分。 for循环
在编程时,你会发现循环可以在多种情况下使用。你可以使用循环重复做某些事情很多次,例如防病毒程序打开每封邮件时检查是否有病毒。也可以使用循环让计算机在某一个简短的周期内什么都不做,比如每隔一分钟显示一次当前时间的动态时钟。
循环语句让计算机程序多次返回到同一个地方,就像飞机特技在空中表演转圈时那样。
Java中最复杂的循环语句是for。for循环经常用于重复执行程序某部分特定次数。下面是一个例子。
for (int dex = 0; dex < 1000; dex++) {
if (dex % 12 == 0) {
System.out.println("#: " + dex);
}
}
这个循环显示0~999之间可被12整除的数字。
每个for循环都使用一个变量来确定循环何时开始、何时结束。这个变量通常称为计数器(或索引),在上述循环中计数器为变量dex。
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,将不会显示这行文本。