Posted on 2007-09-19 12:58
流浪韓 閱讀(633)
評(píng)論(0) 編輯 收藏 所屬分類:
J2SE
增強(qiáng)的for語句
增強(qiáng)的for語句形式如下:
for(Type loop-variable:set - expression)
statement
其中set - expression必須為確定的對(duì)象,這個(gè)對(duì)象是我們想要迭代的數(shù)值的集合。loop-variable是一個(gè)局部變量,它的類型Type必須適合于數(shù)值集合set - expression的內(nèi)容,每次進(jìn)行循環(huán)時(shí),loop-variable都會(huì)從set - expression取出下一個(gè)值,然后執(zhí)行statement,直到取完集合中的數(shù)據(jù)。
set - expression必須是數(shù)組或者實(shí)現(xiàn)了java.lang.Iterable接口的對(duì)象
它的好處是不用手工維護(hù)數(shù)組下標(biāo),也不必檢查數(shù)組的長度。
它的缺點(diǎn)是只能在單獨(dú)的一個(gè)數(shù)組上向前循環(huán),并且只能查看數(shù)組的元素
下面是例子:
import java.util.Vector;
public class ForEx {
public static void main(String[] args) {
Vector<String> v=new Vector<String>();
v.add("Hello");
v.add("Hi");
v.add("Good Moning");
for (String string : v) {
System.out.println(string);
}
}
}
輸出結(jié)果:
Hello
Hi
Good Moning
如果這個(gè)“增強(qiáng)的for語句”和“引元數(shù)量可變的方法”聯(lián)合起來一起用的話會(huì)有不錯(cuò)的效果:
public class Test {
public static void main(String[] args) {
Test t=new Test();
t.test("hello,","hi");
t.test("good morning");
t.test("good afternoon,","good evening,","good night");
}
public void test(String... body){
//String...代表String的數(shù)組,長度由傳進(jìn)來時(shí)的數(shù)組長度決定
for (String string : body) {
System.out.println(string);
}
}
}
輸出如下:
hello,
hi
good morning
good afternoon,
good evening,
good night