天天看點

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

教材學習内容總結

  • 第二章要點:
    • 要點1:辨別符與關鍵字
    • 要點2:基本資料類型:邏輯類型boolean,整數類型int|byte|short|long,字元類型char,浮點類型float|double
    • 要點3:輸入基本型資料、輸出基本型資料
    • 要點4:數組:聲明,配置設定元素,length使用
  • 第三章要點:
    • 要點1:運算符與表達式
    • 要點2:if分支語句
    • 要點3:switch開關語句
    • 要點4:循環語句:for | while | do while
    • 要點5:break和continue語句
    • 要點6:for語句與數組:for each

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

1. 如何使用git更新遠端倉庫代碼到本地倉庫?

  • 問題1解決方案:git更新遠端倉庫代碼到本地倉庫的主要指令:
git branch -a  ##可檢視所有倉庫分支
git remote -v  ##可檢視遠端倉庫分支
git fetch origin master:xxx  /*可在本地建立一個xxx分支
                               并将遠端倉庫的master分支的代碼下載下傳到本地分支xxx上
                               再鍵入 `git branch -a` 會發現xxx已在分支中*/
git diff xxx  ##可比較目前本地倉庫和xxx倉庫
git merge xxx  ##可更新本地倉庫
git branch -d xxx  ##可删除xxx分支
           

這時,你的遠端倉庫代碼就更新到本地倉庫。

2. 如何解決git更新本地倉庫并修改後卻無法更新到遠端倉庫?

  • 問題2解決方案:

    用git配置,在《Java程式設計》第1周學習總結教材學習中的問題和解決過程問題5。

3. 無法運作已經編譯完成的源檔案

root@yogile-VirtualBox:/alive/string# javac -d bin string/name.java
root@yogile-VirtualBox:/alive/string# java string/name
錯誤: 找不到或無法加載主類 string.name
           

或者是出現這種情況:

root@yogile-VirtualBox:/alive/string# java -cp string name
錯誤: 找不到或無法加載主類 name
           
  • 問題3解決方案:兩種情況均是解釋檔案的格式不對。解釋器java.exe解釋的并不是源檔案本身,而是編譯後的檔案xxx.class。由于

    javac -d bin string/name.java

    将編譯name.java生成的name.class位元組碼檔案生成到bin檔案夾中,是以應該用

    java -cd bin name

    運作。

    如果程式中含有package,需要在package定義的上一個目錄中進行編譯。

4. 無法使用

sudo apt-get update

,fghdf.

$ sudo apt-get update
正在讀取軟體包清單... 完成
E: 無法獲得鎖 /var/lib/apt/lists/lock - open (11: 資源暫時不可用)
E: 無法對目錄 /var/lib/apt/lists/ 加鎖
           
  • 問題4解決方案:

Ⅰ:輸入

sudo dpkg --configure -a

Ⅱ:輸入

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
           

Ⅱ:在大部分情況下,問題的原因在于其它的程式如系統的自動更新、新立得等正在使用apt-get程序。

執行

ps-aux

來查找apt-get程序的PID,找到含有但凡有apt字樣的程序,都通過

sudo kill <PID>

結束程序。

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

1. 非英文的字元出錯,變成亂碼。

string/Example2_1.java:3: 錯誤: 未結束的字元文字
      char chinaWord='��',japanWord='��';
                                       ^
           

string/Example2_1.java:148: 錯誤: 需要class, interface或enum
           
  • 問題1解決方案:這些部分代碼是我從其它地方複制過來的,有些不可見字元也被複制了。這是Windows中日文等的編碼格式與Unicode的沖突。不可直接編譯,需重新在Linux系統中鍵入文字。

2.無法對含有多個.java(.class)文檔的程式進行編譯(或解釋)

  • 如何編譯含有多個類的.java程式

[代碼托管]

  • 代碼送出過程截圖:

上周考試錯題總結

上周考試無錯題。

學習進度條

代碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目标 5000行 30篇 400小時
第一周 322/322 1/1 23/23
第二周 520/842 3/4 25/48
  • 計劃學習時間:23小時
  • 實際學習時間:25小時
  • 改進情況:

    學習了使用IDEA編譯運作程式,學完了第四章類與對象。

參考資料

  • GIT更新遠端倉庫代碼到本地倉庫以及GIThub上SHH的設定
  • Java 9 嘗鮮之JShell互動式程式設計環境