20165228 2017-2018-2 《Java程序設計》第3周學習總結

20165228 2017-2018-2 《Java程序設計》第3周學習總結

教材學習內容總結

  • 編程語言
    • 面向機器語言:機器能直接識別的語言, 其指令由特定的二進制碼錶示。
      其中彙編語言是使用人更容易記住的符號來代替二進制碼,其特色是執行速度快,編程費勁,可以直接操做硬件
    • 面向過程語言:將解決問題封裝成過程,程序運行時先由編譯器編譯成機器指令再執行。特色是無對象
    • 面嚮對象語言: 例如Java,C++;三大特色是:封裝性(將數據和對數據的操做封裝在一塊兒)、繼承(子類繼承父類的屬性和行爲)、多態。須要進行操做時,首先想到哪一個對象去完成操做。最重要的是掌握類的用法,能處理複雜問題。
  • 類結構:
class+類名 {
類體內容
}
  • 要求:
    類名:使用拉丁字母時,名字首字母大寫
    • 類體的內容: 變量聲明(儲存屬性的值)和方法的定義(對類中聲明變量進行操做,給出算法)
      聲明變量時須同時賦值,聲明語句中不可單獨出現賦值語句.
    • 成員變量:其數據類型能夠是基本類型、邏輯類型、引用類型(包括數組、對象和接口),成員變量在真個個類都有效,與其所在位置先後無關。變量名習慣首字母小寫,當有多個單詞組合而成時,從第二個單詞開始每一個單詞首字母大寫
    • 方法
    方法的類型+名稱+(參數列表) {
    方法體內容
    }

    無參數的方法頭:java

    int speak() {
    }

    有參數的方法頭:git

    int add(int x,int y,int z) {
    }
    • 局部變量:只在方法內有效,並與其聲明位置有關,它在聲明的位置後生效。沒有默認值,使用前須確認有具體的值
    • 構造方法:類中的構造方法的名字必須與它所在類的名字徹底相同,無類型。若要在一個類中編寫若干個構造方法,須保證各自的參數不一樣
    • 對象:用類聲明的變量,聲明後還須建立對象(分配所擁有的變量)
    • 一個類聲明的兩個對象若是具備相同的引用,兩者就具備徹底相同的變量
      容許兩個對象賦值
    object2=object1;
    • 建立對象:
      聲明對象:
    類的名字+對象名字;
    }

    給對象分配變量:算法

    對象名 = new 類的名字();
    • 使用對象:
      對象操做變量
    對象.變量;

    對象調用類中的方法編程

    對象.方法;
    • 方法中的參數屬於局部變量,向參數傳遞值時,值的級別不可高於參數的級別
    • 可變參數要求:不給出參數列表中從某項開始直到最後一項參數的名字和個數,但類型必須相同,最後一個參數必須是方法參數列表中的最後一個
    public void f(int ... x)
    public void g(double a,int ... x)

    其中x成爲方法參數列表中可變參數的"參數表明",能夠經過下表運算來表示參數列表的具體參數。例x[0],x[1]...x[m-1]分別表示x表明的第1個至第m個參數
    對於可變參數的加強型for語句數組

    for(聲明循環變量:參數表明) {
    ...
    }
  • 實例成員與類成員:
    • 變量聲明時,用關鍵字 static 給予修飾的成員變量稱做類變量,不然稱做實例變量
    • 類變量與實例變量間的區別:
      一、不一樣對象的實例變量互不相同
      二、全部對象共享類變量
      三、經過類名直接訪問類變量
    • 方法聲明時,用關鍵字 static 給予修飾的方法稱做類方法,不然稱做實例方法
  • 方法重載
    • 一個類裏能夠有多個方法具備相同的名字,但這些方法的參數必須不一樣。
    • 重載方法之間必須保證相互的參數不一樣,但須要注意在被調用時可能出現歧義調用
  • this關鍵字
    • 在構造方法中使用this時,表明使用愛構造方法所建立的對象,此時"this"可省略
    • 在實例方法中使用this,this表明正在調用該方法的當前對象
      實例方法操做類的成員變量的默認格式:
    this.成員變量;
    }

    當static成員變量在實例方法中出現時的默認格式:編程語言

    類名.成員變量;

    實例方法調用的默認格式是:學習

    this.方法;

    類方法調用的默認格式是:this

    類名.方法;
  • import語句
    • import語句的做用:當一個類須要另外一個類聲明的對象做爲本身的成員或方法中的局部變量,若他們不在一個包中,則須要import語句引入包中的類和接口。
    • 不只能夠引入類庫中的類,還可引入自定義包中的類
    import java.util.*;
    import tom.jiafei.*;

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

  • 問題1:沒搞明白教材(P83)4.8.2中的歧義調用,爲何沒法經過編譯
  • 問題1解決方案:10爲int型,10.0爲double型,參數(10,10)對應的應該是(int m,int n),而類中卻沒有這樣的調用spa

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

  • 問題1:可否不引入java.util包裏的所有類,而有選擇性的引入個別類
  • 問題1解決方案:使用 import java.util.Date設計

    代碼託管

(statistics.sh腳本的運行結果截圖)

上週考試錯題總結





學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 25篇 400小時
第一週 235/235 1/1 15/15
第二週 224/459 2/3 15/30
第三週 443/902 1/4 15/73
  • 計劃學習時間:17小時

  • 實際學習時間:15小時

相關文章
相關標籤/搜索