java基础-流程控制-循环结构(for,foreach)

java中的流程控制

1.程序必须在执行过程中控制它的世界,并作出选择。在java中,需要使用执行控制语句来作出选择。

2.java使用了C的所有流程控制语句,它们包括:分支结构语句(if-else,switch-case),循环结构语句(while,do-while,for,foreach,)。并且,在这些语句中还涉及到许多关键字,包括:break,continue,return等等。

3.goto关键字是java中的保留字,java中并不会使用goto关键字,但是仍然可以进行类似goto那样的跳转(通过使用标签和break,continue等关键字),但比起典型的goto,有了很多限制。

 

for循环结构语句

for循环可能是最经常使用的迭代形式,其格式为

for(initialization;Boolean-expression;step){

      statement;

}

for循环在第一次迭代前需要进行初始化(initialization),随后会进行条件测试,即检测Boolean-expression布尔表达式的值,如果返回值为true,进入循环,执行statement语句,执行完以后即一次迭代结束以后,进行某种形式的步进运算(step)。步进运算后,开始下一次迭代,在迭代之前,再次测试布尔表达式的值,如果为true,继续迭代,如果为false,跳出循环。

初始化表达式(initialization),布尔表达式(Boolean-expression),步进运算(step)都可以为空。此时,for循环的结构为

for(;;){statement;},相当于一个无限循环。

 

***逗号操作符:java里面唯一用到逗号操作符的地方就是for循环的控制表达式,在控制表达式的初始化和步进控制部分,可以使用一系列由逗号分隔的语句,而且那些语句均会独立执行。

通过使用逗号操作符,可以在for语句内定义多个变量,但是它们必须具有相同的类型。示例:

java基础-流程控制-循环结构(for,foreach)

输出结果为:

java基础-流程控制-循环结构(for,foreach)

由示例可以看到:

在初始化部分(initialization)实际上可以拥有任意数量的具有相同类型的变量定义。并且初始化的内容只会执行一次。

在初始化与步进部分,语句都是顺序执行的。

在一个控制表达式中,定义多个变量的这种能力只限于for循环适用。其它任何选择或迭代语句中都不能使用这种方式。

 

foreach循环结构语句

JavaSE1.5引入了一种更加简洁的for语法用于数组和容器。即foreach语法,表示不必创建int变量去对由访问项构成的序列

进行计数,foreach将自动产生每一项。格式为:

for(对象A:A的数组或容器B){

    statement;

}

B为对象A的数组或容器。示例:

java基础-流程控制-循环结构(for,foreach)

输出:

java基础-流程控制-循环结构(for,foreach)

程序的作用是随机生成10个float类型的数组成的数组,遍历这个数组,打印出数组中的每一个值。通过程序里面for与foreach的对比,可以看到foreach的语法更为简单,可以节省编码时间,同时阅读起来也容易得多。