java中for(type element:array)语法

最近在看《java核心思想》时看到了如下语句:


...     


Person [ ] people =new Person [2];

people [0] =new Employee(...);

people [1] =new Student(...);

for(Person p:people)

System.out.prinltn(p.getName()+","+p.getDescripton());

...

对其中的:     

for(Person p:people)

System.out.prinltn(p.getName()+","+p.getDescripton());

感到很迷惑,for语句的格式不是这样的啊?通常的for语句应该是:

for(int i=0;i<people.length;i++)

{

System.out.prinltn(people[i].getName()+","+people[i].getDescripton());

}

google、百度了一番,终于了解了。

其实for(Person p:people)是java5.0新增的foreach的语法(强化的for循环)。

使用格式为:

for(type element:array)

{

...

}

式中,type为数组array的类型;element是用来存放数组中元素的临时变量;array是待操作的数组。

作用是:

对数组中的数据依次进行存取。比如上面的代码中,代码的功能是:每次从数组people中取出元素people[i],并自动设定给p,不用判断是否超出了数组的长度。

为了帮助理解,这里举一个简单的例子。

例:

int[] a={1,2,3,4,5,6};

for(int e:a) //依次取出数组a中的元素赋给变量e

{

System.out.println(e); //输出e

}

输出结果:

1

2

3

4

5

6

这种结构的for语句有个优点:

每次从数组array中取数据,会自动赋给变量element,并且不用编译器判断是否超出了数组的长度。也即省去了标准for语句里的判决条件,如”i<=array.length“。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值