1. 程式人生 > >20172324《Java程序設計》第二周學習總結

20172324《Java程序設計》第二周學習總結

明顯 topic 哪裏 一次 參考 漢字 自帶 tor scan

20172324《Java程序設計》第2周學習總結

教材學習內容總結

  • 了解了字符串及其拼接和轉義序列的使用。
  • Java的基本數據類型。
  • 定義數據轉換類型和實現其轉換的方法。
  • Scanner類程序。
  • 堆了一個雪人。

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

  • 問題1:在學習eg2.4的時候出現了這樣一個問題,因為這一行代碼有一點長,relationship需要分行,我按照書上的方法卻發現編譯出來的"relationship"其實是"re lationship"。
  • 問題1解決方案:我意識到雖然我利用+將不能在一排打完的字符串分行了,但僅僅限於字符串與字符串間,一個字符串內部是不能分行的。

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

  • 問題1:在編寫temp程序時,檢查了多遍編寫內容是沒有問題的,但是輸出時一直提示錯誤,有一個錯誤是一不小心刪掉了import的i,還有一個問題“需要class,interface或enum解決方案”不知道怎麽辦。
    技術分享圖片
    技術分享圖片
  • 問題1解決方案:主要是用非記事本編寫代碼文件,存在編碼格式轉換問題。重新先建一個記事本程序,然後把源代碼粘貼到該文件下,用javac 類名.java編譯,java 文件名運行該程序即可。這是由於Java文件的編碼導致的問題。 通常使用“javac FirstSample.java”編譯UTF-8編碼的.java源文件。 沒有指定編碼參數encoding的情況下,默認使用的是GBK編碼。 當編譯器用GBK編碼來編譯UTF-8文件時,就會把UTF-8編碼文件的3個字節的文件頭,按照GBK中漢字占2字節、英文占1字節的特性解碼成了“亂碼”的兩個漢字。 這個源文件應該是用記事本另存為UTF-8編碼
  • 問題2:在編寫temp程序時參考了eg2.7,其中有一段是final int BASE = 32,final double CONVERSION_FACTOR = 9.0/5.0 後文中計算的是就沒有出現數字而是BASE和CONVERSION_FACTOR,於是我就將這個也加到我編寫的程序裏,結果發現有語法錯誤根本不能保存成功。
  • 問題2解決方案:按照eg2.8的方法,第一步先定義華氏度的數值型,然後創建一個從鍵盤輸入數據的Scanner類對象。算式的地方也規規矩矩的利用數據進行計算才能輸出。
    我理解的是BASE和CONVERSION_FACTOR應該就是一種代替值,但是final代表著方法體內參數的值是不能被修改的,既不能重新賦值,就和Scanner類的功能沖突了,所以不能通過保存。

代碼托管

技術分享圖片
(statistics.sh腳本的運行結果截圖)

上周考試錯題總結

  1. 當執行一個程序時,處理器從主存儲器讀取每個程序指令。
    解析:在執行程序之前,程序首先從輔助存儲器加載到主存儲器中,以便處理器不會因讀取每條指令而變慢。
  2. 易變性是隨機存儲器的性質
    解析:易變形指的是存儲的東西在斷電後會消失。
  3. 通過引用地址直接獲得存儲項的能力被稱為隨機存取
    解析:隨機存取(可以說成是直接存取)意味著任何項目都可以僅基於其地址進行檢索。隨機存取是RAM和ROM存儲器使用的訪問形式。磁帶使用順序訪問。
  4. Java是一個 高級語言 第四代語言的例子。
  5. 在Java中,下列哪一條語法不合法?s t a t i c main(String[ ] args)
    解析:Java編譯器會將空格視作實體之間的分隔符,因此編譯器不會將”s t a t i c”視作“靜態”
  6. 關於Java的語法和語義,下列哪一項是正確的? Java編譯器可以判定你是否遵循正確的語法,但不能判定正確的語義。
    解析:所有語言的編譯器都能檢查語法問題,但是計算機不能理解語義。
  7. 下列Java命名規範中,哪個是關於“store customers”類的最佳命名? StoreCustomer
    解析:Java命名約定規定類應該全部以大寫字母開頭,並且多個單詞名稱應該以大寫字母開頭,而其余字符均為小寫。 單詞間不應有空格,或與“_”字符連接。
  8. 下面哪個是關於變量“current value of a stock”的最佳命名?currentStockVal
    解析:Java允許使用長變量名,但程序員必須在過長名稱和名字太短以至於無法理解其使用之間找到妥協。
  9. 將“println”打印為“printn”將會導致語法錯誤
    解析; 如果Java編譯器無法理解命令,則編譯器無法將其轉換並以語法錯誤進行響應。
  10. Java字節碼是可以直接執行的,而Java源代碼則不是。(x)
    解析:Java源代碼和Java字節代碼都不可執行。 兩者都必須編譯或解釋為機器代碼。
  11. 在Java中,保留字可以被程序員重新定義,去表示不同於它們最初意義的其他含義。(x)
    12.下面哪個是合法的Java標識符? I
    解析:Java標識符有類庫中自帶的和程序員自己定義的,在自己定義的標識符中可以是任何字母、數字、下劃線和$符,但不能以數字開頭。

其他(感悟、思考等,可選)

這一星期比起上周來少了很多初次接觸的不知所措,取而代之的是需要讀懂書本的內容。在這方面我的弱點就很明顯了,因為我一直都是先看後面要求的實驗,然後大概能做的就沒有去深究,導致我上一次考試都不知道知識點的位置...錯誤得很離譜。找到了問題所在就要好好去改正,以後應該把書吃透了再去做實驗,這樣又快又準,還知道自己的問題到底在哪裏。

學習進度條

代碼行數(新增積) 博客量(新增積) 學習時間(新增積) 重要成長
目標 5000行 30篇 400小時
第一周 128/200 2/2 20/20
第二周 329/500 1/4 18/38

參考資料

  • nbalive2001的博客
  • 關於“javac編譯提示錯誤需要為 class、interface 或 enum”的解釋

20172324《Java程序設計》第二周學習總結