🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## Java编程那些事儿37—for语句语法 郑州游戏学院 陈跃峰 出自:[http://blog.csdn.net/mailbomb](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语句之间可以进行很方便的替换。