java foreach怎么用

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。

foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。

foreach的语句格式:

for(元素类型t 元素变量x : 遍历对象obj){
     引用了x的java语句;
}

例子:foreach用法

//下面通过两个例子简单例子看看foreach是如何简化编程的。代码如下:
//一、foreach简化数组和集合的遍历
import java.util.Arrays; 
import java.util.List; 
import java.util.ArrayList; 
 
public class TestArray { 
	public static void main(String args[]) { 
		TestArray test = new TestArray(); 
		test.test1(); 
		test.listToArray(); 
		test.testArray3(); 
	} 
 
	/** 
	* foreach语句输出一维数组 
	*/ 
	public void test1() { 
		//定义并初始化一个数组 
		int arr[] = {2, 3, 1}; 
		System.out.println(----1----排序前的一维数组 ); 
		for (int x : arr) { 
		System.out.println(x); //逐个输出数组元素的值 
		} 

		//对数组排序 
		Arrays.sort(arr); 

		//利用java新特性for each循环输出数组 
		System.out.println(----1----排序后的一维数组 ); 
		for (int x : arr) { 
			System.out.println(x); //逐个输出数组元素的值 
		} 
	} 
 
	/** 
	* 集合转换为一维数组 
	*/ 
	public void listToArray() { 
		//创建List并添加元素 
		List<String> list = new ArrayList<String>(); 
		list.add(1 ); 
		list.add(3 ); 
		list.add(4 ); 
		 
		//利用froeach语句输出集合元素 
		System.out.println(----2----froeach语句输出集合元素 ); 
		for (String x : list) { 
			System.out.println(x); 
		} 
		 
		//将ArrayList转换为数组 
		Object s[] = list.toArray(); 
		 
		//利用froeach语句输出集合元素 
		System.out.println(----2----froeach语句输出集合转换而来的数组元素 ); 
		for (Object x : s) { 
			System.out.println(x.toString()); //逐个输出数组元素的值 
		} 
	} 
	/** 
	* foreach输出二维数组测试 
	*/ 
	public void testArray2() { 
		int arr2[][] = {{4, 3}, {1, 2}}; 
		System.out.println(----3----foreach输出二维数组测试 ); 
		for (int x[] : arr2) { 
		for (int e : x) { 
			System.out.println(e); //逐个输出数组元素的值 
		} 
	} 
}

结果:

----1----排序前的一维数组
2
3
1
----1----排序后的一维数组
1
2
3
----2----froeach语句输出集合元素
1
3
4
----2----froeach语句输出集合转换而来的数组元素
1
3
4

相关学习推荐:java基础教程

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...