牛骨文教育服务平台(让学习变的简单)

Java编程那些事儿37—for语句语法

郑州游戏学院 陈跃峰

出自:http://blog.csdn.net/mailbomb

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语句之间可以进行很方便的替换。