上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
陷阱4 无休无止——while (condition); 以分号结尾
Java语言提供了三种循环语句,分别是for循环、while循环和do…while循环,其中do…while循环必须在while (condition)后以分号结尾,否则就会出错。而while循环则不能在while (condition)后以分号结尾,否则就会发生死循环。
示例:
说明
上面示例的目的是要计算1~100之间连续整数的和,由于在while (i <= 100)后误加了分号“; ”,在Java中分号是一条空语句,而循环条件i<=100始终成立,所以导致程序在while (i <= 100);处发生了死循环,始终执行这条空语句,所以导致下面的其他语句永远也不会执行,所以该示例并不会输出1~100之间连续整数的和5050。
提示
在while (condition)循环处误加了分号时,程序不会给出任何错误提示,由于在Java中分号是一条空语句,因此当程序执行到这里,由于循环条件成立,程序就会执行这条空语句,由于程序没有机会改变循环条件,程序会一直处于无反应的等待状态,而且没有任何提示,所以在使用while (condition)循环时一定要特别小心。
下面是正确计算1~100之间连续整数和的示例,该示例去掉了上一个示例中while (i<=100);处的分号,因此能够正确计算出1~100之间连续整数的和5050。
示例:
int i = 1; // 声明循环变量 int num = 0; // 声明进行累加求和的变量 while (i<=100) { // 判断循环条件 num = num + i; // 进行累加求和 i++; // 调整循环变量的值 } System. out. println (num); // 输出最终求出的和