Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

0

Share

Download to read offline

CH04:認識物件

Download to read offline

區分基本型態與類別型態
瞭解物件與參考的關係
從包裹器認識物件
以物件觀點看待陣列
認識字串的特性
知道如何查詢API文件

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

CH04:認識物件

  1. 1. 1
  2. 2. 認識物件 學習目標 • 區分基本型態與類別型態 • 瞭解物件與參考的關係 • 從包裹器認識物件 • 以物件觀點看待陣列 • 認識字串的特性 • 知道如何查詢API文件 2
  3. 3. 定義類別 3
  4. 4. • 新建一個物件、新建Clothes的實例 • 宣告參考名稱(Reference name)、參考變 數(Reference variable)或直接叫參考( Reference) • c1參考(refer)至新建物件 4
  5. 5. 5
  6. 6. 6
  7. 7. 建構式(Constructor) 7
  8. 8. 使用java.util.Scanner 8
  9. 9. 使用java.math.BigDecimal • 1.0 – 0.8的結果是? • 以下程式片段會顯示什麼結果? 9
  10. 10. • 使用java.math.BigDecimal 10
  11. 11. 11
  12. 12. 物件指定與相等性 • =用於基本型態時,是將值複製給變數 • ==用於基本型態時,是比較變數儲存的值是 否相同 12
  13. 13. • 如果操作物件,=用在指定名稱參考至某個物 件,==用在比較兩個名稱是否參考同一物件 13
  14. 14. 14
  15. 15. 包裹基本型態 • Long、Integer、Double、Float、 Boolean、Byte等類別 15
  16. 16. 自動裝箱、拆箱 16
  17. 17. 17
  18. 18. • 從Java SE 9開始,基本型態包裹器的建構式 都標示為棄用(Deprecated) 18
  19. 19. • 自動裝箱與拆箱的功能是編譯器蜜糖( Compiler sugar) 19
  20. 20. • 結果會是如何? 20
  21. 21. • Integer.java中valueOf()的實作內容 21
  22. 22. • IntegerCache.low預設值是-128,執行時期無 法更改,IntegerCache.high預設值是127 • 可以於啟動JVM時,使用系統屬性 java.lang.Integer.IntegerCache.high來指定 22
  23. 23. • 別使用==或!=來比較兩個物件實質內容值是 否相同(因為==與!=是比較物件參考) • 要使用equals() 23
  24. 24. 陣列基礎 • 記錄Java小考成績 24
  25. 25. • 循序地取出陣列中每個值 25
  26. 26. 26
  27. 27. • 設定值給陣列中某個元素 27
  28. 28. • 二維陣列 28
  29. 29. 操作陣列物件 • 以使用new關鍵字指定長度來建立陣列 29
  30. 30. 30
  31. 31. 31
  32. 32. • new陣列時一併指定初始值 • 代表建立陣列物件的類別定義在哪?答案是 由JVM動態產生 32
  33. 33. 33
  34. 34. • 用new建立二維陣列 34
  35. 35. • 走訪二維陣列 35
  36. 36. 36
  37. 37. 37
  38. 38. 38
  39. 39. • 如下建立陣列也是合法的: 39
  40. 40. 40
  41. 41. 41
  42. 42. 42
  43. 43. 陣列複製 • 並非陣列複製 • 另行建立新陣列 43
  44. 44. • 使用System.arraycopy()方法 44
  45. 45. • Arrays.copyOf()方法 45
  46. 46. • Java的陣列一旦建立,長度就固定了 46
  47. 47. 47
  48. 48. 48
  49. 49. 49
  50. 50. 50
  51. 51. 字串基礎 • 字串是java.lang.String實例 51
  52. 52. • 已經有個char[]陣列 • 使用+運算來串接字串 52
  53. 53. • 字串剖析為基本型態 53
  54. 54. 54
  55. 55. • 命令列引數 55
  56. 56. 字串特性 • 字串常量與字串池。 • 不可變動(Immutable)字串。 56
  57. 57. 字串常量與字串池 • 以下會顯示true或false? • 底下這個程式碼呢? 57
  58. 58. • 字串常量(String literal) 58
  59. 59. • 比較字串實際字元內容是否相同,不要使用 ==,要使用equals() 59
  60. 60. • 不可變動字串 • 使用程式顯示下圖的結果,你會怎麼寫呢? 60
  61. 61. 61
  62. 62. 62
  63. 63. • 無聊但認證會考的題目 63
  64. 64. 原始檔編碼 • 你寫的.java原始碼檔案是什麼編碼? 64
  65. 65. 65
  66. 66. 66
  67. 67. 67
  68. 68. 68
  69. 69. 69
  70. 70. 70
  71. 71. Unicode與UTF • 字元集是一組符號的集合 • 字元編碼是字元實際儲存時的位元組格式 71
  72. 72. • ISO/IEC與Unicode Consortium都曾經想統一 字元集 • ISO/IEC在1990年先公佈了第一套字元集的編 碼方式UCS-2,使用兩個位元組來編碼字元 • 字元集中每個字元會有個編號作為碼點( Code point) • UCS-2以兩個位元組作為一個碼元(Code unit) 72
  73. 73. • 1991年ISO/IEC與Unicode合併,之後才發佈 了Unicode 1.0 • 越來越多的字元被納入Unicode字元集,超出 碼點U+0000至U+FFFF • 1996年公佈了UTF16 – 沿用UCS-2兩個位元組的編碼部份 – 超出碼點U+0000至U+FFFF的字元,採用四個位 元組來編碼 73
  74. 74. • Unicode的另一編碼標準UTF-8,儲存字元時 使用的位元組數量視字元落在哪個Unicode範 圍而定 – ASCII編碼是其子集,儲存ASCII字元時只使用一 個位元組 – 其他附加符號的拉丁文、希臘文等,會使用兩個 位元組 – 中文部份,UTF-8採用三個位元組儲存,更罕見 的字元,可能會用到四到六個位元組 74
  75. 75. char與String • JVM在執行時期,對於uxxxx採用的實作 是UTF-16 Big Endian • char型態佔2個位元組,可儲存U+0000至 U+FFFF範圍的字元,也就是BMP(Basic Multilingual Plane) 75
  76. 76. • 若字元不在BMP範圍內呢? • 例如高音譜記號 的Unicode碼點為U+1D11E • 必須使用字串儲存,以"uD834uDD1E"來 表示,稱為代理對(Surrogate pair) • 字串的length()取得字串物件管理的char 數量 76
  77. 77. • 若字串中的字元,是在BMP範圍外,就不能 把length()傳回值當成是字串中的字元數 • 字串的length()傳回值是char的數量,也 就是表示字串使用的UTF-16碼元數量 77
  78. 78. • 取得字串中的字元數量(不是char的數量) 78
  79. 79. java.lang.Character 79
  80. 80. 查詢Java API文件 80
  81. 81. 81
  82. 82. 82
  83. 83. 83
  84. 84. 84
  85. 85. 85
  86. 86. 86
  87. 87. 87

區分基本型態與類別型態 瞭解物件與參考的關係 從包裹器認識物件 以物件觀點看待陣列 認識字串的特性 知道如何查詢API文件

Views

Total views

268

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

31

Shares

0

Comments

0

Likes

0

×