java中for语句奇怪的写法

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:29:37
public ExtractKeys(String[] phrase){
for (String temp : phrase) {
System.out.println("。。。");
}
}
for为什么能这么写?
不是要for(...;...;...){}的形式吗?

奇怪的写法应该是"for(;;)"。
解释:也就是说不定义的参数,直接死循环,之后通过break的形式进行跳出。
备注:其实上面的用法是有用的,可以通过这种方法监听某些应用程序是否处于活动状态(因为是一直死循环运行,所以是不用担心线程停止的),如果发现已经不活动了,那么可以进行某些处理来达到想要的目的。

这是for循环的另一个方式,就是取集合的迭代器的方式来遍历给定集合的内容;借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。
这是jdk1.5之后增强的for循环。有两种类型的对象可以通过这种方法来遍历——数组和实现了java.lang.Iterable接口的类的实例。jdk1.5中,java.util.Collection接口继承了java.lang.Iterable接口,所以实现了它的子类都可以用这种方法遍历。这种遍历方式结合了范型之后使用起来更是十分的方便。

这是从jdk1.5开始有的形式。这便于遍历集合数据和数组数据,例如以前我们遍历集合数据
例子:
List<String> names=new ArrayList<String>();
names.add("No.1");
names.add("No.2");
names.add("No.3");
for(Iterator it=names.iterator();it.hasNext()){
String name=(String)it.next();
System.out.println(name);
}
如果我们用从for的新的特性这样写
for(String name:names)
System.out.println(name);

遍历phrase逐个取出temp
假设phrase中有10个temp
则循环10次
从第一个temp开始,到第10个temp
在{}中分别对各个temp进行操作

JDK1.5以后的新写法,表示遍历ph