Java核心技术卷I基础知识3.10.1 for each循环-阿里云开发者社区

开发者社区> 华章出版社> 正文

Java核心技术卷I基础知识3.10.1 for each循环

简介:

3.10.1 for each循环


Java有一种功能很强的循环结构,可以用来依次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心。

这种增强的for循环的语句格式为:

 

定义一个变量用于暂存集合中的每一个元素,并执行相应的语句(当然,也可以是语句块)。collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象(例如ArrayList)。有关数组列表的内容将在第5章中讨论,有关Iterable接口的内容将在第9章中讨论。

例如,

 

打印数组a的每一个元素,一个元素占一行。

这个循环应该读作“循环a中的每一个元素”(for each element in a)。Java语言的设计者认为应该使用诸如foreach、in这样的关键字,但这种循环语句并不是最初就包含在Java语言中的,而是后来添加进去的,并且没有人打算废除已经包含同名(例如System.in)方法或变量的旧代码。

当然,使用传统的for循环也可以获得同样的效果:

 

但是,for each循环语句显得更加简洁、更不易出错(不必为下标的起始值和终止值而操心)。

      注释:for each循环语句的循环变量将会遍历数组中的每个元素,而不需要使用下标值。

如果需要处理一个集合中的所有元素,for each循环语句对传统循环语句所进行的改进更是叫人称赞不已。然而,在很多场合下,还是需要使用传统的for循环。例如,如果不希望遍历集合中的每个元素,或者在循环内部需要使用下标值等。

      提示:有个更加简单的方式打印数组中的所有值,即利用Arrays类的toString方法。调用Arrays.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分隔,例如,“[2,3,5,7,11,13]”。要想打印数组,可以调用

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接