隔着超薄肉丝进入小说_男女刺激性视频大片_女教师的诱波多野结衣_一级欧美过瘾大片

當前位置: 首頁 / 技術干貨 / 正文
foreach循環介紹

2022-12-15

循環 foreach strs 元素

  foreach循環介紹

  雖然Iterator可以用來遍歷集合中的元素,但寫法上比較繁瑣,為了簡化書寫,從JDK5開始,提供了foreach循環。foreach循環是一種更加簡潔的for循環,也稱增強for循環。foreach循環用于遍歷數組或集合中的元素,具體語法格式如下:  

Java
for(容器中元素類型 臨時變量 :容器變量) {
        執行語句
}

  從上面的格式可以看出,與for循環相比,foreach循環不需要獲得容器的長度,也不需要根據索引訪問容器中的元素,但它會自動遍歷容器中的每個元素。接下來通過一個案例演示foreach循環的用法。  

Java
import java.util.ArrayList;

public class Example05 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList(); // 創建ArrayList集合
        list.add("aaa"); // 向ArrayList集合中添加字符串元素
        list.add("bbb");
        list.add("ccc");
        for (Object obj : list) { // 使用foreach循環遍歷ArrayList對象
            System.out.println(obj); // 取出并打印ArrayList集合中的元素
        }
    }
}

  可以看出,foreach循環在遍歷集合時語法非常簡潔,沒有循環條件,也沒有迭代語句,所有這些工作都交給虛擬機去執行了。foreach循環的次數是由容器中元素的個數決定的,每次循環時,foreach中都通過變量將當前循環的元素記住,從而將集合中的元素分別打印出來。

  foreach循環的局限性

  foreach循環雖然書寫起來很簡潔,但在使用時也存在一定的局限性。當使用foreach循環遍歷集合和數組時,只能訪問集合中的元素,不能對其中的元素進行修改。接下來以一個String類型的數組為例演示foreach循環的缺陷。  

Java
public class Example06 {
    public static void main(String[] args) {
        String[] strs = {"aaa", "bbb", "ccc"};
        // foreach循環遍歷數組
        for (String str : strs) {
            str = "ddd";
        }
        System.out.println("foreach循環修改后的數組: " + strs[0] + "," + strs[1] + ","+ strs[2]);
        // for循環遍歷數組
        for (int i = 0; i < strs.length; i++) {
            strs[i] = "ddd";
        }
        System.out.println("普通for循環修改后的數組: " + strs[0] + "," + strs[1] + ","+ strs[2]);
    }
}

  案例中分別使用foreach循環和普通for循環去修改數組中的元素。從運行結果可以看出,foreach循環并不能修改數組中元素的值,原因是str="ddd"只是臨時變量,str指向了一個新的字符串,這與數組中的元素沒有一點關系。而在普通for循環中,是可以通過索引的方式來引用數組中的元素并對其值進行修改的。

分享: 更多

上一篇:Iterator接口介紹

下一篇:Set接口簡介

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓IT培訓
在線咨詢
IT培訓IT培訓
試聽
IT培訓IT培訓
入學教程
IT培訓IT培訓
立即報名
IT培訓

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號