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语句内定义多个变量,但是它们必须具有相同的类型。示例:
输出结果为:
由示例可以看到:
在初始化部分(initialization)实际上可以拥有任意数量的具有相同类型的变量定义。并且初始化的内容只会执行一次。
在初始化与步进部分,语句都是顺序执行的。
在一个控制表达式中,定义多个变量的这种能力只限于for循环适用。其它任何选择或迭代语句中都不能使用这种方式。
foreach循环结构语句
JavaSE1.5引入了一种更加简洁的for语法用于数组和容器。即foreach语法,表示不必创建int变量去对由访问项构成的序列
进行计数,foreach将自动产生每一项。格式为:
for(对象A:A的数组或容器B){
statement;
}
B为对象A的数组或容器。示例:
输出:
程序的作用是随机生成10个float类型的数组成的数组,遍历这个数组,打印出数组中的每一个值。通过程序里面for与foreach的对比,可以看到foreach的语法更为简单,可以节省编码时间,同时阅读起来也容易得多。