foreach循环使用方法详解

Posted 千锋IT教育

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了foreach循环使用方法详解相关的知识,希望对你有一定的参考价值。

前言

在前面的文章中,千锋壹哥给大家讲解了for、while、do-while三种循环结构,并讲解了如何跳出循环的几种方式,比如break、continue、return等。但是截止到目前,与循环相关的内容还没有完事,我们还有最后一哆嗦,今天千锋壹哥会给大家讲解另一种循环方式--增强for循环!这种循环方式在我们后来遍历集合时很常用,所以也有必要来学习一下。

------------------------------前戏已做完,精彩即开始----------------------------

全文大约【1000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......

一. foreach

1. 概念

在Java 5中,引入了一种主要用于数组和集合遍历的增强型for循环,我们可以认为它是普通for循环的增强版,主要是用于处理数组或集合中的元素,而不必指定数组或集合的下标。foreach循环可以减少一些不必要的代码,很多时候for循环可以被foreach替换,但不是所有的for循环都可以被foreach替换。

2. 语法

foreach增强for循环的语法格式如下:

for(数据类型 变量 : 集合名称)
   //代码句子 

根据上面的语法,千锋壹哥给大家详细解释一下:

数据类型:该类型必须与集合中数据元素的类型一致;

变量:声明一个新的局部变量,其作用域限定在循环语句块内;

集合名称:这里可以是一个数组、集合的名称。

3. 案例

因为我们现在还没学习数组和集合相关的内容,所以千锋壹哥在这里暂时给大家设计一个简单的案例,大家先参照着联系。后面我会专门给大家讲解java里的数组和集合,敬请期待哦。

public class Demo07 

	public static void main(String[] args) 
		// foreach循环

		//定义一个整形数组
		int[] numbers =  100, 200, 300, 400, 500 ;
		for (int x : numbers) 
			System.out.print(x+",");
		
		
		System.out.print("\\n");
		
		//定义一个字符串数组
		String[] names =  "一一哥", "壹壹哥", "千锋教育", "千锋java" ;
		for (String name : names) 
			System.out.print(name+",");
		
	

4. 缺陷

在很多时候,foreach都可以替代for循环,但并不是所有的时候都能替代for,这是因为foreach循环存在着一些缺陷。

虽然foreach是for循环的增强版,简化了编程,提高了代码的可读性和安全性,避免了数组越界。而foreach一般是结合泛型使用,在需要使用数组或者集合索引时,foreach就不好用了

foreach 详解

for 循环使我们可以通过索引访问数组元素;而 foreach 循环则可以不依赖索引而读取每一个数组元素。下面的示例代码声明了一个整型数组,然后通过两种方法打印数组元素:

技术分享

运行结果是相同的:

技术分享

使用 foreach 的语法:

技术分享

需要解释一下 ④ ,如上面的示例代码,迭代变量 x 只能用于读取数组 num 中的值,但是不能给数组元素赋值,如果尝试给 x 赋值,则会有下面的错误提示:

以上是关于foreach循环使用方法详解的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis的foreach语句详解

foreach用法

foreach用法

foreach用法

foreach用法

foreach循环使用方法详解