网站首页 > 技术文章 正文
前言
在前面的文章中,千锋壹哥给大家讲解了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进行遍历输出。
猜你喜欢
- 2024-11-07 EXCEL-VBA- For Each Next(收藏不看系列)
- 2024-11-07 一口气带你踩完五个 List 的大坑,真的是处处坑啊
- 2024-11-07 VBA|简单实例比较4种循环结构(vba循环语句实例)
- 2024-11-07 VBA基本语法之For Each Next结构,都有什么特点以及使用注意事项
- 2024-11-07 for 、foreach 、iterator三种方式的比较
- 最近发表
-
- 使用Knative部署基于Spring Native的微服务
- 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- ElasticSearch进阶篇之搞定在SpringBoot项目中的实战应用
- SpringCloud微服务架构实战:类目管理微服务开发
- SpringBoot+SpringCloud题目整理
- 《github精选系列》——SpringBoot 全家桶
- Springboot2.0学习2 超详细创建restful服务步骤
- SpringCloud系列:多模块聚合工程基本环境搭建「1」
- Spring Cloud Consul快速入门Demo
- Spring Cloud Contract快速入门Demo
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)