java學習(三)

學號 20189214 《Java程序設計》第三週學習總結

教材學習內容總結

核心類

java.lang.Object

  1. 全部的類都直接派生自這個類。

java.lang.String

  1. String對象能夠包含任意多個字符。
  2. String對象是一個常量,不可修改。

建立String對象:html

  1. String s = "Java "
  2. String message = new String ("Java")
    兩種方法的區別:當採用new關鍵字時,JVM會建立String的一個新實例。當採用字符串字面值的時候,你會獲得相同的一個String對象。(如以前已經建立了,該對象可能來自於一個池)。
比較字符串
String s1 = "java"
String s2 = "java"
String s3 = new String ("java")
if(s1 == s2){
    ...
輸出True
}
if (s1 == s3)
{
    ...
#輸出False
# ==比較的是兩個對象引用的地址 
}
if (s1!=null&s1.equals("java"))
    return true
#equal比較兩個對象的值是否相同
if("java".equals(s1))
    return true

字符串字面值

  1. String s1 = "String"+3
  2. 若是鏈接一個對象和一個String,調用前者的toString方法。

java.lang.StringBuffer和java.lang.StringBuilder

  1. String對象是不可變的。
  2. StringBuffer適合在多線程環境中使用;StringBuilder是Buffer的異步版本。
  3. StringBuilder未指定大小的時候會擁有16個字符的大小。若是了16個字符,對象會自動增長。

基本類型包裝器

  • java.lang.Integer
  • java.lang.Boolean
  • java.lang.Character

java.lang.Class

  1. 每次JVM建立一個對象時,也建立一個java.lang.Class對象來描述該對象的類型。
  2. 同一個類的全部實例,都共享一個Class對象。java

    可調用對象的getClass方法來獲取Class對象
    可調用對象的getName方法,返回對象表示類的徹底限定名稱。多線程

  3. forName和newInstance異步

java.lang.System

System類是一個final類
System.out
System.in
System.err
System.arraycopy
System.setProperty("password","ttt")
System.getProperty("password")學習

java.util.Scanner

Scanner scanner = new Scanner (System.in)
String input = scanner.nextLine()

錯誤處理

  1. 運行錯誤
    try...catch...finally...
  2. 編譯錯誤ui

    教材學習中的問題和解決過程

  • 問題1:java.lang.Object方法中toString返回對象的說明和getClass的區別
  • 問題1解決方案:toString返回對象的toString方法,未重寫的toString方法返回@hashcode值;而getClass返回對象的名稱。

代碼調試中的問題和解決過程

  • 問題1:從方法中拋出異常的兩種方法的順序
  • 問題1解決方案:
public static void main(String[] args) throws IOException
    try...catch ...
1. 在接口的實現類中,若是定義的接口抽象方法中沒有拋出異常,在重寫的抽象方法中是不能經過throws這種方式拋出異常的,由於父類沒有拋出異常,子類是不能拋出異常的。  
2. 當經過try catch這種方法拋出異常的時候要注意拋出異常的順序,異常範圍小的放在前面,異常範圍大的放在後面

代碼託管

上週考試錯題總結

若是有如下程序代碼:線程

String[] strs=new String[5];設計

如下描述正確的是
A .產生5個String 實例
B .產生1個String 實例
C .產生0個String 實例
D .編譯失敗調試

(1)用new 語句建立對象,這是最經常使用的建立對象方法。
(2)運用反射手段,調用Java.lang.Class或者 java.lang.reflect.Constructor類的newInstance()實例方法。
(3)調用對象的clone()方法。
(4)運用反序列化手段,調用java.io.ObjectInputStream對象的readObject()方法。code

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 150/200 2/2 20/20
第二週 200/400 1/3 20/40
第三週 100/500 1/4 10/50
  • 計劃學習時間:15小時

  • 實際學習時間:10小時

參考資料

相關文章
相關標籤/搜索