Java——浅析foreach结构

概念:

Java支持一个简便的for循环,称为foreach循环,即不使用下标就可以顺序的遍历整个容器

语法结构:

for(元素类型elementType 元素element:遍历容器arrayRefVar)
{
	对元素加工的语句//Process the element
}

element只是遍历容器中内容的提取,相当于把容器中的内容赋给element

相当于

temp=a; //把a给temp,上述的element就是那个临时存储空间

代码实现:

foreach语句是从头到尾顺序的执行,一般用来遍历。

/* Date:208.5.25
 * Function:foreach的使用
 * @author 夜听雨凉
 */

import java.util.*;
public class Test1 {
	public static void main(String[] args)
	{
		System.out.println("--------一维数组输出:");
		arrayUseForeach();
		System.out.println("--------二维数组输出:");
		twoDarrayUseForeach();
		System.out.println("--------数组集合输出:");
		arryaListUseForeach();
		System.out.println("--------链式集合输出:");
		LinkedListUseForeach();
	}
	public static void arrayUseForeach()        //创建一维数组的输出方法
	{
		int [] array=new int [] {1,2,3};    //给数组赋值
		for(int x:array)                    //foreach语句遍历输出数组元素
		{
			System.out.println(x);
		}
	}
	public static void twoDarrayUseForeach()    //创建二维数组的输出方法
	{
		int [][] array1=new int [][] {{1,1},{2,2}};   //给数组赋值
		for(int x[]:array1)                 //foreach语句遍历输出二维数组的一维数组
		{
			for(int y:x)                //foreach语句遍历输出一维数组的元素
			System.out.println(y);
		}
	}
	public static void arryaListUseForeach()    //创建数组集合输出方法
	{
		ArrayList <Integer> al=new ArrayList<>();    //创建数组集合
		al.add(1);                          //为集合添加元素
		al.add(2);
		al.add(3);
		for(int x:al)                        //遍历输出数组集合
		{
			System.out.println(x);
		}
	}
	public static void LinkedListUseForeach()    //创建链式集合的输出方法
	{
		LinkedList <Integer> ll=new LinkedList <>();   //创建链式集合
		ll.add(1);                            //为集合添加元素
		ll.add(2);
		ll.add(3);
		for(int x:ll)                        //遍历输出数组集合
		{
			System.out.println(x);
		}
	}
}

结果显示:

--------一维数组输出:
1
2
3
--------二维数组输出:
1
1
2
2
--------数组集合输出:
1
2
3
--------链式集合输出:
1
2
3

缺点限制:

  1. foreach循环不能以其他顺序遍历数组,只能以顺序结构遍历。(人家都不用下标就可以遍历的,怎么停?肯定一直遍历到最后啊)
  2. foreach循环不能改变数组中的元素。(因为foreach上的element是临时数据,不是数据本身。咳咳,这里说的只是变量,不是对象。如果你的element是个对象,那么是可以修改的。。。)
  3. foreach循环不可以输入数据,输入还需要正规的for循环。

优点总结:

  1. 简化for循环的代码。
  2. 不使用下标,不会产生数组越界异常,常用于集合的遍历操作。

关于foreach循环到底能不能改变容器数据,请看 点击打开链接

欢迎各位在评论区留言探讨~~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值