4.2 循环变量
上节出现在while条件里的变量i实际上控制了循环的次数,我们把这样的变量称为循环变量。
int i=10;
while(i > 0){
System.out.println(i);
i--;
}
i是怎么控制循环次数的?
观察条件i>0,如果i大于0,那么此条件成立,同时注意到,while控制的代码里面有一条i--,也就是说,每执行一次循环,i的值就减少1,这样达到一定的循环次数(10次),就会使得i>0这个条件不成立。这个时候,循环就结束了。
假如循环的条件永远成立,那么这个循环就不会结束!这种称为死循环。
例如下面的例子,i的值是10,条件是i>0,那么将进入循环,然而循环每次都会将i增加1,这就意味着i>0永远成立了!实际执行这段代码,i的值会一直增加然后打印,直到i的值到达上限再增加1,发生溢出变成负数!
int i=10;
while(i > 0){
System.out.println(i);
i++;
}
循环变量通常是增加1或者减少1,但不是绝对的,例如下面的例子,i每次增加2,它将打印0,2,4,6,8,这样循环就只有5次了。
int i=0;
while(i < 10){
System.out.println(i);
i+=2;
}
练习题
-
写出下面循环的次数1. (2分) [填空]2. (2分) [填空]3. (2分) [填空]4. (2分) [填空]5. (2分) [填空]6. (2分) [填空]7. (2分) [填空]8. (2分) [填空]
-
下列每一小题的代码都试图打印1到10,请判断是否能打印1. (2分) [选择]A.
B. 正确打印
C. 语法错误
D. 语法没错误,不是死循环但不能正确打印
E. 死循环int i=1;while(i >= 0) System.out.println(i);i++;2. (2分) [选择]A.
B. 正确打印
C. 语法错误
D. 语法没错误,不是死循环但不能正确打印
E. 死循环int i=1;while(i >= 10){ System.out.println(i); i++;}3. (2分) [选择]A.
B. 正确打印
C. 语法错误
D. 语法没错误,不是死循环但不能正确打印
E. 死循环int i=1;while(i <= 10){ i++; System.out.println(i);}4. (2分) [选择]A.
B. 正确打印
C. 语法错误
D. 语法没错误,不是死循环但不能正确打印
E. 死循环int i=1;while(i <= 10){ System.out.println(i++);}5. (2分) [选择]A.
B. 正确打印
C. 语法错误
D. 语法没错误,不是死循环但不能正确打印
E. 死循环int i=1;while(i++ <= 10){ System.out.println(i);}6. (2分) [选择]A.
B. 正确打印
C. 语法错误
D. 语法没错误,不是死循环但不能正确打印
E. 死循环int i=1;while(i++){ System.out.println(i);} -
填空1.打印1、2、3……一直到100 (4分) [编程填空]
public static void main(String[]agers){ int i=1; while( ){ System.out.println(i); ; }}2.打印100以内(包括100)的偶数 (6分) [编程填空]打印1到100,在循环里增加一个条件,就可以按条件打印了public static void main(String[]agers){ int i=1; while( ){ /* 当i是偶数的时候,打印 */ if( ) System.out.println(i); ; }}3.打印100、99、98……一直到1 (4分) [编程填空]public static void main(String[]agers){ int i=100; while( ){ System.out.println(i); ; }}