- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 5.0 的新功能 內 容 大 綱 (1) 泛型 自動裝箱與拆箱 增強的 for 迴圈敘述 C 風格的輸出 格式化的輸入 列舉 內 容 大 綱 (2) 靜態引入 可變數目參數 泛型(1/5) Java5.0的新特性之一是引入了泛型(generics)的觀念,在Java 5.0中,許多java.util類別庫中實作Collection介面的集聚類別,被改為泛型類別,如Vector、ArrayList、LinkedList、Hashtable、HashMap、Stack、Queue、PriorityQueue、Dictionary、TreeMap及TreeSet等。 在Java 5.0之前我們使用ArrayList 清單 = new ArrayList(); 來宣告一個屬於ArrayList集聚類別的物件(以下簡稱聚集物件),而所有加入ArrayList的物件,都是屬於Object類別的物件。 泛型 (2/5) 而在物件取出時則必須以轉型(casting)的方式才可正確使用,而這使得型別檢查(type checking)無法在編譯時期進行,必須等到執行時期才可以進行(此時若出現錯誤,則會引發例外)。 我們可以使用如ArrayListString 清單 = new ArrayListString();來宣告一個屬於ArrayList類別的聚集物件,其中的 符號是借用自C++語言中Standard Template Library (STL)中的用法。 泛型 (3/5) 在上例中我們在 中填入String類別,這很明確的表示我們要加入的物件是屬於String類別的。如此,可以方便編譯器在編譯時期即進行型別檢查,此時若有錯誤發生,則在編譯時期就可以加以修正。 另外,我們在取用加入的物件時不需要再經過轉型的動作,這使得程式設計方便了許多。 泛型 (4/5) 以下的範例程式中示範了泛型的使用: 泛型 (5/5) 程式執行結果 自動裝箱與拆箱 (1/2) 在Java語言聚集物件中(如範例程式附5-1中屬於ArrayList類別的物件清單1及清單2),只能夠將參考型別資料(也就是物件)加入其中。 要將基本型別資料放入到聚集物件中,就要將該資料以包裝類別(wrapper, 如Float類別)包裝成物件之後才能加入,這個動作稱為boxing 。 讀者在編寫程式時可以略去裝箱與拆箱的程式片段,這不但可以縮減程式碼的長度並且可以加快程式碼的開發。 自動裝箱與拆箱 (2/2) 以下的範例程式搭配泛型的使用展示自動裝箱與拆箱的功能。 程式執行結果 增強的 for 迴圈敘述 (1/5) 在Java 5.0 中新增了for-each/in迴圈敘述,其語法如下所述: for (變數宣告 : 陣列或Iterable物件) 敘述區塊 若我們將上述語法中的for關鍵字讀為for each,將冒號(:)讀為in,則有助於了解上述語法的涵義。 增強的 for 迴圈敘述 (2/5) 我們使用以下的程式片段來說for-each/in迴圈敘述的用法: int[] 陣列1={31,29,31,30,31,30,31,31,30,31,30,31}; String[] 陣列2= {星期一,星期二,星期三,星期四,星期五,星期六,星期天}; for (int i: 陣列1) System.out.print(i+ ); for (String s: 陣列2) System.out.print(s+ ); 增強的 for 迴圈敘述 (3/5) 上述的程式片段的第一個for迴圈的意思為對每一個在陣列1中的整數元素i執行System.out.println(i+“ ”)敘述;而第二個for迴圈的意思為對每一個在陣列2中的String物件元素s執行System.out.println(s+“ ”)敘述。 其執行結果應為: 31 29 31 30 31 30 31 31 30 31 30 31 星期一 星期二 星期三 星期四 星期五 星期六 星期天 增強的 for 迴圈敘述 (4/5) 我們接著再使用以下的範例程式來說明for-each/in迴圈與Iterable物件的配合使用。 增強的 for 迴圈敘述 (5/5) 程式執行結果 C風格的輸出 (1/6) Java 5.0 在java.util.Formatter類別中開始支援C風格的輸出,除了使用屬於Formatter類別的物件配合System.out.println()方法輸出之外,還可以直接使用類似C語言printf函數的System.out.printf()方法。 System.out.printf(”控制字串”, 運算式1, 運算式2, ...);
您可能关注的文档
最近下载
- 17周新模式英语1Unit1-4全套教案.pdf
- 安川机器人YASKAWA AR2010 说明手册.pdf
- 西南交通大学(材料力学B)机械类作业系统作业与详细解答.docx
- 基于人用经验的中药复方制剂新药临床研发指导原则(试行).pdf
- 《原电池 第1课时》示范课教学设计【化学人教版高中选择性必修第一册(新课标)】.docx
- GBZ 178-2017 粒籽源永久性植入治疗放射防护要求.pdf
- 中国国家标准 GB/T 4437.1-2023铝及铝合金热挤压管 第1部分:无缝圆管.pdf
- 教育评价引领学生健康成长20151212-黑龙江教育科研.ppt
- 现代名图说明书|Hyundai Mistra Owner's Manual.pdf
- 标底、工程量清单、招投标控制价和拦标价的区别.pdf
文档评论(0)