java 增强for循环(foreach)

news/2025/1/11 8:51:47/

学而时习之,温故而知新。

 

java的增强fou循环(foreach) 是java5的新特征之一

foreach的循环对象一般是一个集合,List、ArrayList、LinkedList、Vector、数组等

格式:

for(元素类型T 每次循环元素的名称O : 循环对象){

  //对O进行操作

 }

 

看下遍历一个数组:

foreach写法

public class Main {public static void main(String[] args) {String[]  name ={"a","b","c","d"};for(String str:name){System.out.println(str);}}
}

要是for循环使用:

String[]  name ={"a","b","c","d"};
for(int i=0;i<name.length;i++){System.out.println(name[i]);
}

2这输入结果是一样的。看起来foreach简单一些

在看下遍历list

for写法

import java.util.ArrayList;
import java.util.List;
public class Main {public static void main(String[] args) {List<String> list = new ArrayList();list.add("a");list.add("b");list.add("c");for(String str : list){System.out.println(str);}}
}
foreach写法
List<String> list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
for(int i=0;i<list.size();i++){System.out.println(list.get(i));}

 

很简单,但是foreach也有局限性

foreach虽然能遍历数组或者集合,但是只能用来遍历,无法在遍历的过程中对数组或者集合进行修改,而for循环可以在遍历的过程中对源数组或者集合进行修改。

/**
 * 描述:
 */
public class Client {

    public static void main(String[] args) {
        String[] names = {"beibei", "jingjing"};
        for (String name : names) {
            name = "huanhuan";
        }
        //foreach
        System.out.println("foreach:"+Arrays.toString(names));
        //for
        for (int i = 0; i < names.length; i++) {
            names[i] = "huanhuan";
        }
        System.out.println("for:"+Arrays.toString(names));
    }
}

输出:
foreach:[beibei, jingjing]
for:[huanhuan, huanhuan]

知识回顾参考网络,,,,记录下

 

 


http://www.ppmy.cn/news/611811.html

相关文章

ashx导出dataTable为Excel

一&#xff0c;datatable导出Excel&#xff0c;用户可以选择路径&#xff0c;方法如下&#xff1a; /// <summary>/// DataTable导出到Excel/// </summary>/// <param name"dt">DataTable类型的数据源</param>/// <param name"FileN…

降维处理:PCA和LDA

1&#xff0c;主成分分析 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种无监督问题&#xff0c;是降维中最常用的一种手段&#xff0c;基于方差&#xff08;方差最大的方向&#xff09;提取最有价值的信息再进一步分类。降维后数据特…

微信小程序input使用

这个input 自己也是花费了2个多小时,熟悉,下面将一一讲解经常使用的里面的属性 value 这个value 就是input中的内容, 如果我们想获取input中输入的内容,value是必须使用的 使用可以在input中 定义 value{{phone}} 然后在data中初始化就行了,如果写死的input里面就是死的数据…

h265player开发

h265player开发 https://github.com/goldvideo/h265player 简介 随着视频编码技术的发展&#xff0c;相比H.264, H.265同等画质体积仅为一半、带宽占用省一半、画质更细腻等诸多优势。 但Web浏览器还不支持H.265的解码播放&#xff0c;因此基于Web Assembly(封装FFmpeg)、JS…

Android Jetpack Compose - 深入了解 AlertDialog

在开发 Android 应用时&#xff0c;对话框是一个常见的 UI 元素&#xff0c;用于向用户显示信息或获取用户的反馈。在 Jetpack Compose 中&#xff0c;我们可以使用 AlertDialog 组件来创建对话框。在这篇博客中&#xff0c;我们将深入了解如何使用 Jetpack Compose 的 AlertDi…

寒假作业pta3

某地老鼠成灾&#xff0c;现悬赏抓老鼠&#xff0c;每抓到一只奖励10元&#xff0c;于是开始跟老鼠斗智斗勇&#xff1a;每天在墙角可选择以下三个操作&#xff1a;放置一个带有一块奶酪的捕鼠夹(T)&#xff0c;或者放置一块奶酪(C)&#xff0c;或者什么也不放(X)。捕鼠夹可重复…

微信小程序点击图片切换图片

实现的效果图 实现的方式有2中 先说下思路 1 使用wx:if 写2个图片 点击的显示一张即可, 2 使用数据传递当拿到图片的时候更换图片即可. 看下代码 2中方式:xml <view class"intro"> <image catchtapopen_tap wx:if"{{isShow}}" src"/im…

h265webplayer

h265webplayer https://github.com/ksvc/h265webplayer h265webplayer是金山云的Web端H.265视频播放器&#xff0c;该播放器Web SDK让您可以在支持WebAssembly的浏览器上播放MP4格式的点播视频&#xff0c;FLV http-flv协议的直播视频。 支持的功能 1、mp4格式的点播&#…