l语法:
Øfor ( type 变量名:集合变量名 ) { … }
l注意事项:
Ø迭代变量必须在( )中定义!
Ø集合变量可以是数组或实现了Iterable接口的集合类
l举例:
public static int add(int x,int ...args) {
int sum = x;
for(int arg:args) {
sum += arg;
}
return sum;
}
The enhanced for statement has the form:
EnhancedForStatement:
for ( Var iableModi f ie rsopt
Type Identifier: Expression) Statement
The Expression must either have type Iterable or else it must be of an array
type (§10.1), or a compile-time error occurs.
The scope of a local variable declared in the FormalParameter part of an
enhanced for statement (§14.14) is the contained Statement
The meaning of the enhanced for statement is given by translation into a
basic for statement.
If the type of Expression is a subtype of Iterable, then let I be the type of the
expression Expression.iterator(). The enhanced for statement is equivalent to
a basic for statement of the form:
for (I #i = Expression.iterator(); #i.hasNext(); ) {
VariableModifiersopt Type Identifier = #i.next();
Statement
}
Where #i is a compiler-generated identifier that is distinct from any other identifi-
ers (compiler-generated or otherwise) that are in scope (§6.3) at the point where
the enhanced for statement occurs.
Otherwise, the Expression necessarily has an array type, T[]. Let L1 ... Lm
be the (possibly empty) sequence of labels immediately preceding the enhanced
for statement. Then the meaning of the enhanced for statement is given by the
following basic for statement:
T[] a = Expression;
L1: L2: ... Lm:
for (int i = 0; i < a.length; i++) {
VariableModifiersopt
Type Identifier = a[i];
Statement
}
Where a and i are compiler-generated identifiers that are distinct from any other
identifiers (compiler-generated or otherwise) that are in scope at the point where
the enhanced for statement occurs.
DISCUSSION
The following example, which calculates the sum of an integer array, shows how enhanced
for works for arrays:
int sum(int[] a) {
int sum = 0;
for (int i : a)
sum += i;
return sum;
}
Here is an example that combines the enhanced for statement with auto-unboxing to trans-
late a histogram into a frequency table:
Map<String, Integer> histogram = ...;
double total = 0;
for (int i : histogram.values())
total += i;
for (Map.Entry<String, Integer> e : histogram.entrySet())
System.out.println(e.getKey() + "" + e.getValue() / total);
分享到:
相关推荐
Java中增强for循环的实现原理和坑详解 Java中增强for循环是一种强大且方便的迭代功能,自JDK 1.5以来,它已经成为Java开发者必备的技能之一。然而,许多开发者并不了解增强for循环的实现原理和可能存在的坑。下面...
然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过索引来遍历数组或集合的元素,而增强for循环则更注重简洁性和易读性。本文将深入探讨Java增强for循环的工作原理以及...
"Java增强for循环和普通for循环的比较" Java中有两种类型的for循环:普通for循环和增强for循环。普通for循环是我们最常用的循环方式,而增强for循环是一种新的循环方式,它提供了更方便的循环方式,尤其是在遍历...
Java 中的 for 循环和增强 for 循环 Java 中的 for 循环是一种基本的循环结构,用于遍历数组或集合中的元素。然而,Java 中还有一种特殊的循环结构,即增强 for 循环。增强 for 循环是 Java 5 中引入的一种循环结构...
### JDK 1.5 中增强 for 循环详解 #### 引言 随着 Java 技术的不断发展,为了提高开发效率、简化代码编写并增强可读性,JDK 1.5 引入了一系列的新特性,其中就包括了增强 for 循环(Enhanced For Loop),也被称作...
在Java编程语言中,JDK 5引入了一个重要的特性,即增强for循环(也称为foreach循环),这大大简化了对集合和数组的迭代操作。在本文中,我们将深入探讨这个特性,了解其工作原理,以及如何在实际开发中有效地利用它...
J2SE for Loop循环 增强for循环 Enhanced for Loop 更简单的进行遍历
老生常谈foreach(增强for循环)和for的区别 在 Java 编程语言中,foreach 和 for 是两种常用的循环语句,都是用于遍历数组或集合的元素。然而,foreach 和 for 之间存在一些关键的区别,了解这些区别对于编写高效的...
java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!
"Java 中的增强 for 循环 foreach" Java 中的增强 for 循环 foreach 是一种语法糖,它能够提高性能,并减少代码出错的几率。foreach 循环是用来对数组或者集合进行遍历的语法,具体语法如下:for(元素类型 ele : ...
Java中的增强for循环,也被称为foreach循环,是Java 5引入的一种简洁的遍历数组和集合的语法。这种循环方式简化了代码,使得遍历过程更加直观易读。下面我们将详细探讨增强for循环的实现方法及其优缺点。 首先,...
集合工具类-增强for循环-变长参数”中,我们将深入探讨Java中的几个关键概念,包括集合工具类、增强for循环以及变长参数。 首先,集合工具类是Java集合框架的一部分,提供了对集合操作的便利方法。这些工具类主要...
18-集合(增强for循环).avi
- **增强for循环**:一种简化数组遍历的方式,其语法为`for (type variableName : collectionVariableName) {...}`。例如: ```java int[] arr = {1, 2, 3, 4, 5}; for (int temp : arr) { System.out.println...
Java中使用增强for循环的实例方法 Java语言中提供了多种循环语句,包括for循环、while循环、do-while循环等,其中增强for循环(也称为foreach循环)是一种特殊的for循环,用于遍历数组或集合中的元素。在本文中,...
本篇将详细解释如何在Java中使用增强for循环处理一维数组和二维数组。 ### 一维数组 在Java中,一维数组是一系列相同类型的元素的有序集合。使用增强for循环遍历一维数组的语法如下: ```java 数据类型[] array =...
超全面javaweb教程第7天-_14_增强for循环
本文将重点探讨两种常用的迭代方式——`Iterator`接口和`Enhanced for loop`(增强型for循环),并从多个角度对比分析它们的特点、应用场景以及使用技巧。 #### 二、Iterator:传统智慧的传承 **1. 概念** `...
本篇文章将深入探讨Java中的List、Set和Map三种主要集合类型的遍历方法,以及如何使用增强for循环(也称为foreach循环)来简化代码。 首先,我们来看集合框架的基础。Java集合分为两大部分:Collection接口和Map...