4.4 Foreach语法
Java SE5引入了一种新的更加简洁的for语法用于数组和容器,即foreach语法,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项。
for(float x : f) {}
这条语句定义了一个float类型的变量x,继而将每一个f的元素赋值给x。
任何返回一个数组的方法都可以使用foreach。例如,String类有一个方法toCharArray(),它返回一个char数组,因此可以很容易地像下面这样迭代在字符串里面的所有字符:
public class ForEachString{
public static void main(String[] args){
for(char c : "hello world".toCharArray())
System.out.print(c + " ");
}
}/*Output:
h e l l o w o r l d
*/
foreach还可以用于任何Iterable对象。
4.6 break和continue
在任何迭代语句的主体部分,都可用break和continue控制循环的流程。其中,break用于强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。
无穷循环的第二种形式是for(;;)编译器将while(true)与for(;;)看作是同一回事。所以具体选用哪个取决于自己的编程习惯。
4.8 switch
switch有时也被划归为一种选择语句。根据整数表达式的值,switch语句可以从一系列代码中选出一段去执行。它的格式如下:
switch(integral-selctor) {
case integral-value1 : statement; break;
case integral-value2 : statement; break;
case integral-value3 : statement; break;
case integral-value4 : statement; break;
// ...
default : statment;
}
其中, Integral-selector(整数选择因子)是一个能够产生整数值的表达式,switch能将这个表达式的结果与每一个integral-value(整数值)相比较。若发现相符的,就执行对应的语句。若没有发现相符的,就执行default(默认)语句。