java中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就不好用了。
------------------------------正片已结束,来根事后烟----------------------------
二. 结语
至此,壹哥就把几种循环结构给大家讲解完毕了。最后我们再来梳理一下几种循环的主要区别:
for:常用于执行次数确定的循环。先判断,后执行;
while:当型循环,常用于循环次数不确定时。先判断,后执行;
do-while:直到型循环,常用于循环次数不确定时。先执行,后判断;
foreach:增强for循环,常用于对数组或集合的遍历。
三. 今日作业
第一题
定义一个你喜欢的书籍名称数组,使用foreach进行遍历输出。
java中foreach循环用法详解的更多相关文章
- Java 中 synchronized的用法详解(四种用法)
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 ...
- java中synchronized的用法详解
记下来,很重要. Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并发线程访问同一个对象object中的这个synchron ...
- [转]Java中Map的用法详解
转载地址:http://www.zhixing123.cn/jsp/30113.html Map简介 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 Dictio ...
- Java中Map的用法详解
Map简介 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collecti ...
- Java 中 synchronized的用法详解
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之 ...
- java中的instanceof用法详解
instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据.用它来判断某个对象是否是某个Clas ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- java.util.ResourceBundle国际化用法详解
java.util.ResourceBundle国际化用法详解 初识国际化和ResourceBundle 这个类主要用来解决国际化和本地化问题.国际化和本地化可不是两个概念,两者都是一起出现的.可以说 ...
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
随机推荐
- 操作系统 windos
- L2 Gracia Final OpCodz
[83] Gracia Final Client 00 SendLogOut 01 RequestAttack 03 RequestStartPledgeWar 04 RequestReplyStar ...
- <小李飞刀>系列 随笔
1.多情剑客无情剑 古龙的作品在电视上只看过电影版的陆小凤传奇,对古龙的作品也没有过系统的了解,初读时听到了李寻欢的名字,突然感觉可惜.觉得如此早就读到这种级别的小说有些暴殄天物,不过也算是以白纸状态 ...
- HTTP和HTTPS的定义和区别
http是什么? 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上.它指定了客户端可能发送给服务器什么样的消息以及 ...
- Python基础数据类型-Tuple(元组)
a = () b = (1) # 不是元组类型,是int型 c = (1,) # 只有一个元素的时候,要加逗号才能表示是元组 d = (1, 2, 3, 4, 5, 6, 1) print(type( ...
- 【APT】Patchwork APT组织针对巴基斯坦国防官员攻击活动分析
前言 Patchwork(白象.摩诃草.APT-C-09.Dropping Elephant)是一个疑似具有印度国家背景的APT组织,该组织长期针对中国.巴基斯坦等南亚地区国家进行网络攻击窃密活动.本 ...
- Tesstwo9.1.0配置步骤
一,配置步骤 环境:Tesstwo9.1.0+Android10(华为)+Android11(模拟器) 1.查看tess-two的最新版本(GitHub - rmtheis/tess-two: For ...
- edge 浏览器部分功能
模拟打印情况的调试
- 工控小工具 snmp 、opc ua 、modbus 、tcp、bacnet 开发环境Net6.0
下载地址 https://files.cnblogs.com/files/blogs/745639/net6.0-windows.rar?t=1674114312
- C语言中的循环
1我觉得循环就是程序一直重复的执行一些语句,直到当符合条件时停止.循环总体分为while循环,do while循环和for循环. 2while循环和do while循环的区别:while是先判定是否符 ...