讀書筆記--《java語言程序設計--基礎篇》


一、概述:
    這是讀的第一本英文原版的專業書籍,總的來說,因為自己也有一些基礎,讀起來並不是非常的費勁。
前半部分主要是介紹java的相關語法,正好借着這樣的機會鞏固了一下自己的碼代碼的能力,基本上把書中
的代碼都打了一遍,前面的部分主要是用的notepad++來寫的,notepad++ 也有代碼提示功能,用起來還是挺
不錯的,但是用cmd 來編譯,連接,javac 然后java 執行,似乎很容易出現編碼格式方面的問題。后半部分
主要是利用Myeclipse來寫的,也嘗試了一下 intelliJ idea ,但是由於用Eclipse比較習慣的原因,不太
適應它的快捷鍵,寫起來不是很爽,於是作罷。
    中間還嘗試過將java程序打包起來,讓它能在未安裝jre的機器上運行,中間試了Jbuilder,exe4j,
install4j,exe4j使用步驟還算簡單,(但實際上很多選項我都忽略了),它能將java程序打包成exe
文件,但仍需要jre的支持。其他的使用起來就更加的復雜了。后來想了想,在win環境下的exe 程序,還算
拿c#,c++之類的寫好了。實際上基本語法的差別並不是非常的大。
二、思考(總的來看):
    1、java環境配置的問題,jdk是開發者使用的開發工具,其中主要包括了jre,說明文檔,一些示例代碼,
以及源代碼。其中非常重要的是jdk根目錄下的bin目錄中,可以直接將其添加到path目錄中,它里面包含了
java.exe,javac.exe,等文件。至於jre呢,是java runtime environment, 是執行java程序必須的環境,它
包含了jvm,即java虛擬機,負責java字節碼的解釋。
    2、封裝(encapsulation),繼承(inheritance),多態(polymorphism),首先,封裝主要說的是寫類
時注意做到一個高內聚,即如同一個黑箱,僅僅對外公開必要的方法與變量,而對僅僅用於內部的方法,變量
使用private關鍵字。繼承,即是最大的體現了一個代碼的復用性,通過extends關鍵字,或者implement接口,
實現代碼的復用。(這一個可以參看chapter15,是繼承的一個非常好的例子)非常好的利用了java繼承時構造
函數的調用關系。多態,主要是通過類的向上轉型來體現。
三、代碼說明
    將書中的代碼基本上打了一遍,下面就這些做一個介紹,方便自己的復用。
    chapter2:
        Time.java :實現功能,將系統的 totalMilliseconds 化為北京時間,由於8小時時差,要進行一個
        加8處理。實際上,java的date 類就實現了這個功能。
        TestScanner.java :利用scannner實現控制台輸入。
        ShowInput.java :功能是將用戶輸入的內容顯示在一個dialog上。用了JOptionPane。
        DisplayUnicode.java :以unicode 16bit 編碼,即"\u6b22\u8fce\u03b1"。
        ComputeLoan.java: 輸入貸款以及返回每月payment.
        ComputeArea.java :
    chapter3:
        ReadFile.java :無法讀取文件,代碼有錯誤。。但可以編譯通過。 2015.5.25
        Sub.java :出一道減法題,判斷答對了沒有。
    chapter4:
        MultiplicationTable.java :打99乘法表。
    chapter6:
        CountLettersInArray.java :顯示隨機字符中,各小寫字符出現的次數。字符出現次數統計。
        RandomCharacter.java :隨機產生字符。
        BinarySearch.java :二分查找法的數列,必須是要經過排序的.查找數字int型。
        InsertionSort.java :插入法排序。
        LinearSearch.java :線性查找法。
        SelectionSort.java :從小到大排列,使用的選擇排序的方法.
        TestSystemArray.java :Arrays.sort(a);利用這個現成的方法進行排序。
    chapter7:
        Circle.java ,
        Course.java(一個模擬課程的類),
        Seeds.java(通過種子獲取隨機數)
        StackOfIntegers.java :該函數模擬了一個整數stack的功能.
    chapter8:
        CheckPalindrome.java :判斷一個數列是不是回文數.
        CountEachLetter.java :實現輸出一段字符串中各個字母出現的次數
        ReadData.java :讀取文件,利用scanner 來讀取,注意把input流close掉
        WriteData.java :利用PrintWriter 輸出文件。
    chapter9:
        1、通過此例可以看出構造函數調用的順序,首先調用父函數的無參的構造函數!
    chapter10:
        GenericSort.java :該類的功能是實現數組的排序。
        TestCalendar.java :該類測試了calendar類的使用
    chapter11:
        Rational.java :有理數的基本運算,分數形式顯示,用“/”
    chapter12:
        gui方面的程序。showLayout.java,ImageIcon,panels,swingCommonFeature.等。
    chapter13:
        仍然是gui方面的。label ,messagePane,等。
    chapter14:
        gui方面的,有動態時鍾,MovableMessagePanel (可以移動的文本,根據鼠標的運動)
        KeyboardPanel(用上下左右鍵控制一個字母,注意在main方法中,一定要setFoucus,方可移動)
    chapter15:
        gui方面的程序。MultipleWindowsDemo(統計字母出現的次數,並用圖表顯示)
        radioButton,checkBox等。
    chapter16:
        applet用於網頁的小應用,不過用瀏覽器試了一下,總是用安全問題,或者報classNotfindError.
    chapter17:
        異常處理。throws,throw, try ...catch...finally..
    chapter18:
        java的輸入輸出流,binary I/O.
    chapter19:
        recursion.遞歸的思想。TowersOfHanoi,漢諾塔的例子。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM