【Java】Java中foreach循环的使用

来源:互联网 发布:传奇霸业修为数据 编辑:程序博客网 时间:2024/05/20 14:27

在jdk1.5及以后的版本,都支持foreach循环。

以下列出常用for循环的地方以及foreach在对应情况下的语法模式:

public class Test {public static void main(String[] args){/*for中对象是数组*/int a[]={1,2,3};for(int i=0;i<3;i++) System.out.println(a[i]);//传统写法for(int i:a) System.out.println(i);//foreach循环写法/*for中对象是*/Vector<String>v = new Vector<String>(3);v.add("Lillian");v.add("xiong");for(Iterator<String>it = v.iterator();it.hasNext();)System.out.println(it.next());//传统写法for(String s:v)System.out.println(s);//foreach循环写法/*对于双重循环*///传统for写法T test = null;for(Iterator<String>it=v.iterator();it.hasNext();)for(int i=0;i<3;i++){test.add(a[i],it.next());//这里会存在问题,外层循环的it.next()会一直取.next()下去,显然与我们想要的对不同的i同一个it的初衷不同,正确的写法应该用一个临时变量村下it.next(),待内层for循环完毕之后再改变it = it.next(),temp=it.next();}//foreach的写法(可以避免上述隐藏的Bug,并且更加简洁)for(String s:v)for(int i:a)test.add(i,s);}}

参考:http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html


原创粉丝点击