日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

for-each循环的认识、定义、适用对象、举例、局限性

發(fā)布時(shí)間:2025/3/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 for-each循环的认识、定义、适用对象、举例、局限性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 1. for-each的認(rèn)識
    • 2. for-each的定義
    • 3. 哪些類型的對象可以適用For-Each?
    • 4. for-each的舉例
    • 5. for-each的局限性

1. for-each的認(rèn)識

(1)for-each語句是Java中for-Index的一種加強(qiáng),是Java 5帶來的新語法糖。
(2)for-each語句是在遍歷數(shù)組、集合的時(shí)候,foreach擁有不錯的性能。
(3)foreach是for語句的簡化,但是for-each并不能替代for循環(huán)。任何for-each都能改寫為for循環(huán),反之不行。
(4)foreach不是java中的關(guān)鍵字。for-each的循環(huán)對象一般是一個集合,List、ArrayList、LinkedList、Vector、數(shù)組等。

2. for-each的定義

for(元素類型T 每次循環(huán)元素的名稱 : 循環(huán)對象){//對定義的名稱進(jìn)行操作}

3. 哪些類型的對象可以適用For-Each?

(1)數(shù)組
(2)Collection類
(3)任何實(shí)現(xiàn)了Iterable接口的自定義類
(根據(jù)面向接口的思想,Deolin習(xí)慣把第三類對象稱之為“可迭代的”對象)

第一類,第二類在實(shí)際開發(fā)中經(jīng)常用到,而第三類能夠適用For-Each的原因需要通過源碼來進(jìn)行分析。

4. for-each的舉例

  • for-each遍歷數(shù)組
  • public static void main(String[] args) {String[] demo = {"a", "b", "c"};for (String t :demo ) {System.out.println(t);}}
  • for-each遍歷List
  • 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);}}

    5. for-each的局限性

    for-each雖然能遍歷數(shù)組或者集合,但是只能用來遍歷,無法在遍歷的過程中對數(shù)組或者集合進(jìn)行修改,而for循環(huán)可以在遍歷的過程中對源數(shù)組或者集合進(jìn)行修改。

    1 數(shù)組

    import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class test{public static void main(String[] args) {String[] names = {"ming", "fei"};for (String name : names) {name = "xin";}//foreachSystem.out.println("foreach:"+Arrays.toString(names));//forfor (int i = 0; i < names.length; i++) {names[i] = "xin";}System.out.println("for:"+Arrays.toString(names));}}

    2.集合

    import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class test {public static void main(String[] args) {List<String> names = new ArrayList<String>();names.add("ming");names.add("fei");//foreachfor(String name:names){name = "uzi";}System.out.println(Arrays.toString(names.toArray()));//forfor (int i = 0; i < names.size(); i++) {names.set(i,"uzi");}System.out.println(Arrays.toString(names.toArray()));} }

    求出一個文件的目錄名以及目錄總個數(shù)
    實(shí)現(xiàn)代碼:

    import java.io.File;public class Demo {public static void main(String[] args){File file=new File("D:/apache-maven1");String[] files=file.list();for(int i=0;i<files.length;i++){System.out.println(files[i]);}System.out.println(files.length);} }

    獲取本地IP地址

    實(shí)現(xiàn)代碼如下:

    import java.net.InetAddress; import java.net.UnknownHostException;public class Demo {public static void main(String[] args) throws UnknownHostException {InetAddress host = InetAddress.getLocalHost();String ip =host.getHostAddress();System.out.println("本機(jī)ip地址:" + ip);} }

    自定義多個字符和數(shù)字,求出6位隨機(jī)數(shù)的組合
    實(shí)現(xiàn)代碼:

    import java.util.Random;public class Demo {static char[] chars = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};public static String getStr(int i){StringBuffer string = new StringBuffer();Random random = new Random();while(i-->0){//獲取隨機(jī)生成的下標(biāo)int x = random.nextInt(chars.length);string.append(chars[x]);}return string.toString();}public static void main(String[] args) throws Exception {int i=6;String string = getStr(i);System.out.println(string);}} 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的for-each循环的认识、定义、适用对象、举例、局限性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。