Java学习笔记-foreach语句

  • Java学习笔记-foreach语句


  • 简介:foreach语句

foreach语句是java5.0的新特征之一,在遍历打印数组,集合方面提供极大的便利和安全

foreach语句是for的简化版本,但本身比for语句局限,所有的foreach语句都能改用for语句表示

foreach不是一个关键字,可以理解成是for语句的一个简化表示版本

  • 用法:

格式:

for(数据类型type 元素变量x:变量对象obj){
    //包含变量x的语句
}

对数组进行遍历

   a.对一维数组进行遍历

//对一维数组进行遍历
		int Arr1[]=new int[]{1,2,3,4};
		System.out.println("对一维数组进行遍历:");
		for(int x:Arr1) {
			System.out.print(x+" ");
		}
		System.out.println();

/*  输出:
    对一维数组进行遍历:
    1 2 3 4 
*/

    b.对二维数组进行遍历

//对二维数组进行排序
		int Arr2[][]=new int[][] {{4,8},{3,6}};
		System.out.println("对二维数组进行遍历:");
		for(int x[]:Arr2) {
			for(int e:x) {
				System.out.print(e+" ");
			}
			System.out.println();
		}

/*输出:
    对二维数组进行遍历:
    4 8 
    3 6 
*/

    c.对三维数组进行遍历

//对三维数组进行排序
		int Arr3[][][]=new int[][][]{
			{{4,8},{3,6}},
			{{1,2},{3,4}}
		};
		System.out.println("对三维数组进行遍历:");
		for(int[][] x:Arr3) {
			for(int[] e1:x) {
				for(int e2:e1) {
					System.out.print(e2+" ");
				}
				System.out.println();
			}
		}
		
/*输出:
   对三维数组进行遍历:
    4 8 
    3 6 
    1 2 
    3 4 
*/

对集合进行遍历

Object:是java中所有数据类型的基类,可表示任意数据类型

//对集合进行遍历
		List<String>str_list=new ArrayList<String>();
		str_list.add("18");
		str_list.add("20");
		str_list.add("0926");
		System.out.println("对集合进行遍历:");
		for(String x:str_list) {
			System.out.print(x+" ");
		}
		System.out.println();
		
		System.out.println("对集合转换成的数组进行遍历:");
		Object s[]=str_list.toArray();
		for(Object x:s) {
			System.out.print(x+" ");
		}
		System.out.println();
		
/*输出:
    对集合进行遍历:
    18 20 0926 
    对集合转换成的数组进行遍历:
    18 20 0926 
*/

  • 局限性:

机械遍历:

 如同它的名字,for-each 真的是把数组和集合中每一个元素都遍历一次,无法利用数组索引,给个栗子

//局限性
		int[] Arr4;
		Arr4=new int[20];
		
		Arr4[0]=1998;
		Arr4[1]=9;
		Arr4[2]=26;
		System.out.println("机械,将数组从头到尾遍历一遍,可是目的只是为了输出前3个:");
		for(int x:Arr4) {
			System.out.print(x+" ");
		}
		System.out.println();

/*
    输出:
    机械,将数组从头到尾遍历一遍,可是目的只是为了输出前3个:
    1998 9 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
*/

无法修改元素值:

foreach 只能“看”元素而不能“改”,所以一般只用于输出或者遍历判断

简洁安全:

foreach语句是对for语句的一个补充和增强,使得代码更加简洁和安全(没有越界的可能,无法修改元素)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值