Part1程序設計基礎(Java語言程序設計(10th))

緣起

  • 這是《Java語言程序設計(10th)》的Part1,計劃2017-12-31以前所有整理完。
  • 2017-12-23開始想看這本書的,並同時開始實踐起Java來的。
  • Part的內容包含(chap1-chap8)【L(12/679】

內容

chap1 計算機、程序和Java概述 1(24/679)

  • 2017-12-23本身用JDK+Eclipse搭建了一個開發環境。

chap3 選擇 64(87/679)

  • 2017-12-25開始學習的。
  • 3.2 boolean數據類型java

    • 六種關係操做符(relational operator)或者叫(comparison operator)
    • truefalse都是直接量,就像10這樣的數字。它們被看成保留字同樣,不能用作程序中的標識符。但他們應該不是關鍵字或保留字。
    • [AdditionQuiz.java]()git

      • import java.util.Scanner以及Scanner input = new Scanner(System.in) 相似C裏的scan()
      • 建立Scanner對象什麼時候釋放的問題,代碼裏沒寫,但Eclipse裏提示了。
      • 產生隨機數的方法System.currentTimeMillis()
    • 複習題 66(89/679)編程

      • 3.3 至少在java裏int類型和boolean類型沒法強制轉換 int i = 1; boolean b =(boolean)i 這種IDE會報錯。
  • 3.3 if語句數組

    • [SimpleIfDemo.java]框架

      • 在Eclipse裏輸入sysout就是至關於System.out.println();
      • 一樣Alt+/組合鍵
      • input.nextInt()是取得用戶輸入的一個int值,若是不是int值報錯。
    • 複習題 68(91/679)
  • 3.4 雙分支if-else語句dom

    • 複習題 69(92/679)
  • 3.5 嵌套的if語句和多分支if-else語句模塊化

    • 複習題 70(93/679)函數

      • 3.8-3.10
  • 3.6 常見錯誤和陷阱 71(94/679)學習

    • 常見錯誤5:兩個浮點數值的相等測試
    • 複習題 73(96/679)測試

      • 3.11 - 3.14
  • 3.7 產生隨機數

    • Math.random()產生一個0.0到1.0之間的隨機double值,不包括1.0。
    • [SubtractionQuiz.java]() 75(98/679)
    • 複習題 75(98/679)
  • 3.8
  • 3.9
  • 3.10 邏輯操做符
  • 3.11
  • 3.12
  • 3.13 switch語句

    • 3-9[ChineseZodiac.java]()
    • switch相對用得較少一些,都不太記得語法結構了
    • 複習題 88(111/679)

      • 3.29 - 3.32
  • 3.14 條件表達式

    • 複習題 89(112/679)

      • 3.33 - 3.36
  • 3.15 操做符的優先級

    • 複習題 90(113/679)

      • 3.37 - 3.40
  • 3.16 調試

    • JDK包含了一個命令行調試器jdb。
  • 本章小結 91(114/679)
  • 編程練習題 92(115/679)

chap4 數學函數、字符和字符串 100(123/679)

  • 4.2 經常使用數學函數

    • Math.PIMath.E
    • 三角函數方法
    • 指數函數方法
    • [ComputeAngles]()
    • 複習題 104(127/679)

      • 4.1 - 4.7
  • 4.3 字符數據類型和操做

    • 複習題 108(131/679)

      • 4.8 - 4.15
  • 4.4 String類型

    • String實際上與System類和Scanner類同樣,都是Java庫中一個預約義的類。String類型不是基本類型,而是引用類型(reference type)
    • length()
    • charAt(index)從字符串中獲取字符

      • 注意越界,每個字符的下標值是0
    • concat()鏈接字符串
    • toLowerCase()toUpperCase()字符串的轉換
    • Scanner對象上的next()方法,從控制檯讀取字符串
    • Scanner對象上的nextLine()方法,從控制檯讀取字符串
    • 字符串比較

      • [OrderTwoCities]()
    • substring()得到子字符串
    • indexOf()lastIndexOf()獲取字符串中的字符或子串
    • Integer.parseInt()Double.parseDouble()字符串和數字間的轉換
    • 複習題 116(139/679)

      • 4.16 - 4.20
  • 4.5 示例學習

    • [GuessBirthday]()
    • [HexDigit2Dec]()
    • [LotteryUsingStrings]()
  • 4.7 格式化控制檯輸出

    • System.out.printf()
    • [FormatDemo]()

chap5 循環 133(156/679)

chap6 方法 171(194/679)

  • 6.2 定義方法

    • 本章的全部方法都使用靜態修飾符static,但緣由在chap9描述了,那是否是每一個方法都要有static呢?
    • 定義(指被定義的條目是什麼)與聲明(指爲被聲明的條目分配內存來存儲數據)的區別。
  • 6.3 調用方法

    • [601TestMax.java]()
    • main()方法在於它由Java虛擬機調用的
    • 每當調用一個方法時,系統會建立一個活動記錄(也稱爲活動框架),用於保存方法中的參數和變量。活動記錄置於一個內存區域中,稱爲調用堆棧(call stack)。175(198/679)
  • 6.4 void方法示例

    • [602TestVoidMethod.java]()
    • [603TestReturnGradeMethod.java]()
    • 複習題 177(200/679)

      • 6.1 - 6.10
  • 6.5 經過傳值進行參數傳遞

    • [604Increment.java]()
    • [605TestPassByValue.java]()
    • 複習題 180(203/679)

      • 6.11 - 6.14
  • 6.6 模塊化代碼

    • [606GreatestCommonDivisorMethod.java]()
    • [607PrimeNumberMethod.java]()
  • 6.7 示例代碼

    • [608Hex2Dec.java]()
  • 6.8 重載方法

    • [609TestMethodOverloading.java]()
    • 複習題 187(210/679)

      • 6.15 - 6.17
  • 6.9 變量的做用域

    • 局部變量
  • 6.10 示例學習

    • [610RandomCharacter.java]()
    • [611TestRandomCharacter.java]()
  • 6.11 方法抽象和逐步求精

    • 方法抽象(method abstraction)是經過將方法的使用和它的實現分離來實現的。
    • 「分治」(divid-and-conquer)策略,也稱爲逐步求精(stepwise refinement)。

      • 自頂向下的設計、實現
      • 待完善方法(stub)是方法的一個簡單但不完整的版本
      • [612PrintCalendar.java]()
    • 逐步求精的優點

      • 更簡單的程序
      • 重用方法
      • 易於開發、調試和測試
      • 更方便團隊合做
  • 編程練習題 197(220/679)

chap7 一維數組 207(230/679)

chap8 多維數組 242(265/679)

  • 8.2 二維數組的基礎知識
  • 8.3 處理二維數組
  • 8.4

    • [801PassTwoDimensionalArray]()
相關文章
相關標籤/搜索