分类:
2008-10-15 16:36:36
5.4.3 for语句
for关键字的意思是“当…的时候”,是实际开发中比较常用的循环语句,其语法格式相对于前面的循环语句来说稍显复杂,但是在熟悉以后,将会发现其语法安排的比较条理,把循环控制和循环体很清晰的分开。
for语句的语法格式为:
for(初始化语句;循环条件;迭代语句){
循环体;
}
语法说明:
1、 和其它流程控制语句一样,语句中的大括号不是语法必须的,但是为了结构清楚以及在循环体部分可以书写多行代码,一般使用大括号。
2、 初始化语句作用是在循环开始以前执行,一般书写变量初始化的代码,例如循环变量的声明、赋值等。该语句可以为空。
3、 循环条件是循环成立的条件,要求必须为boolean类型,如果该条件为空,则默认为true,即条件成立。
4、 迭代语句是指循环变量变化的语句,一般书写i++、i—这样的结构,当然,该语句也可以为空5、 循环体指循环重复执行的功能代码。
执行流程:
1、 执行初始化语句
2、 判断循环条件,如果循环条件为false,则结束循环,否则执行下一步
3、 执行循环体
4、 执行迭代语句
5、 跳转到步骤2重复执行需要注意的是:for语句中的各个语句都可以为空,初始化语句在for语句执行时执行且只执行一次。
依据for语句的语法格式,则最简单的for语句是如下格式:for(;;);由于循环条件为空时,默认为true,则循环条件恒成立,该循环的循环体即最后的一个分号,这样的语句称作空语句,则该循环是一个死循环,循环体是空语句。
在实际书写代码时,一般把循环控制部分都写在for语句的小括号内部,而循环体只书写和逻辑相关的代码,这种结构使逻辑显得很清晰。
使用for语句输出的0-9之间数字的代码如下:
for(int i = 0;i < 10;i++){
System.out.println(i);
}
则该语句的执行流程为:
1、 执行int i = 0;
2、 判断i<10,如果条件不成立则结束,否则继续执行下一步
3、 执行System.out.println(i);
4、 执行i++
5、 跳转到步骤2继续执行类似的示例代码,实现求1-100之间数字的和,代码如下:
int sum = 0;
for(int i = 1;
i <= 100;i++){
sum +=i;
}
System.out.println(sum);
这些是一些基本的for语句的使用,在通常情况下,for语句和while语句之间可以实现很简单的转换,例如下面是一个使用for语句书写的while格式的代码:
int i = 0;for(;i < 10;){
System.out.println(i);
i++;
}关于for语句的深入使用请参看后续的综合示例部分的讲解。
5.4.4.小结
这里介绍了基本的循环控制语句的语法格式,在程序设计时,必须理解每种语句的语法格式和对应的特点,才能在实际使用时依据自己的逻辑进行灵活运用。
和前面的条件语句一样,在实际使用时,循环控制语句之间也可以进行相互的嵌套来解决复杂的逻辑,在语法上对于嵌套的层次没有限制。
while语句和for语句在循环语句中属于“先判断再循环”的结构,而do-while语句属于“先循环再判断”的结构,所以从语法角度来看,do-while语句的循环体至少会执行一次,在实际使用时while语句和for语句之间可以进行很方便的替换。