1. 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 : "An African Swallow".toCharArray()){
System.out.println(c + " ");
}
}
} /* Output: A n A f r i c a n S w a l l o w *///:~
foreach语句是java5的新特征之一,在遍历数组、集合、Iterable对象方面,为开发人员提供了极大的方便。foreach可以用于任何Iterable对象。
Iterable对象
Iterator是迭代器类,而Iterable是接口。
好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。
许多for语句都会在一个整数值序列中步进:
for(int i = 0;i < 100;i++)
而这对foreach语法不起作用。 如果要使用foreach,需要在net.mindview.util.Range包中创建一个名为range()的方法,它可以自动地生成恰当的数组。
import static net.mindview.util.Range.*;
import static net.mindview.util.Print.*;
public class ForEachInt{
public static void main(String[] args){
//range()方法已经被重载,重载表示相同的方法名可以具有不同的参数列表(range()是所谓)
for(int i : range(10)){ //0..9
//printnb()方法不会换行,可以使用它将一行拆分成多个片段输出
System.out.printnb(i + "");
}
print();
for(int i : range(5, 10)){ //5..9
System.out.printnb(i + "");
}
print();
for(int i : range(5, 20, 3)){ //5..20 step 3
System.out.printnb(i + "");
}
print();
}
} /* Output: 0 1 2 3 4 5 6 7 8 9 5 6 7 8 9 5 8 11 14 17 *///:~
2. 无条件分支
无条件分支:表示这个分支无需任何测试即可发生。包括return、break、continue。
break: 强行退出循环,不执行循环中的剩余部分。
continue:停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。
无线循环的两种形式:for(;;) 和 while(true)。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。