20165202 第3周學習總結
20165202 2017-2018-2 《程序設計與數據結構》第3周學習總結
教材學習內容總結
Ch4
- 面向機器語言、面向過程語言、面向對象語言
- 類:“駝峰習慣”、類體的定義、成員變量、方法
- 構造方法與對象的創建:構造方法沒有類型、使用對象
- 類與程序基本結構
- 參數傳值:引用類型傳值中傳遞的是變量中存放的“引用”、可變參數
- 對象的組合:復用方法
- 實例成員與類成員:實例變量與類變量、實例方法與類方法的區別 是否有“static”修飾
- 方法重載:一個類中可以有多個方法具有相同的名字,但參數必須不同
- this關鍵字:在構造方法、實例方法中的使用
- 包:有包名的類的存儲目錄、運行有包名的主類
- import語句:引用庫中的類、自定義包中的類
- 訪問權限:對象是否可以通過“.”運算符操作變量或調用類中方法
- [ ] rivate:可修飾變量或者方法(不能修飾類)
- [ ] public:可修飾變量或者方法(可以修飾類),可通過對象或者類名訪問
- [ ] protected:可修飾變量和方法(不能修飾類),在同一包內可通過對象和類名訪問。
[ ] 友好變量/友好方法:不用public、private、protected修飾的變量
- 基本類型的類封裝
- 對象數組:數組的元素是對象
JRE擴展與jar文件
教材學習中的問題和解決過程
- 問題1:import語句使用不太懂
- 問題1解決方案:通過對教材代碼的深入理解,我發現import主要分為引入類庫中的類和引入自定義包中的類
import java.util.類名
為引入類庫中的類的基本格式,一般寫在較靠前位置。
package 主類包名; import sohu.com.自定義包中的類名;
編譯和運行的方式有所區別
\ch4>javac hello\nihao\Example4_8,java \ch4>java hello.nihao.Example4_8
代碼調試中的問題和解決過程
- 問題1:vim編輯器無行數顯示、換行自動空格等功能,效率較低
問題1解決方案:我百度了一下,參考如何設置vim自動對齊為vim添加部分功能,好用多了。
代碼如下cd / //返回最上層目錄// cd etc cd vim ls //顯示所有文件// sudo gedit vimrc //使用gedit編輯文件(只輸入gedit權限不夠)//
打開之後,我們在文件最下面進行修改,將相應的指令添加到文件末尾;
【顯示行號】--->【set number】;
【檢測文件的類型】--->【filetype on】;
【自動對齊】--->【set autoindent】
【智能選擇對齊方式】--->【set smartindent】
【設置Tab鍵為4個空格】--->【set tabstop=4】
【設置當行之間交錯時使用4個空格】--->【set shiftwidth=4】
【設置匹配模式】--->【set showmatch】;
設置完後,點擊save
按鈕,進行保存。重啟ubuntu即可使用。
- 問題2:4_3編譯提示不兼容的類型
- 問題2解決方案:錯將
zhubajie.head
中head輸入為height,head被定義為String型變量,提醒了我一定要註意變量所定義的類型,不同類型間轉換可能造成精度損失。 - 問題3:4_5運行編譯提示找不到符號
- 問題3解決方案:
將Rect、Lader、Example4_5放在同一目錄下,使用javac *.java
編譯目錄下全部源文件,問題原因在於4_5的編譯需要Rect、Lader產生的字節碼文件,必須將Rect.class、Lader.class與4_5.java放在同一目錄中。 - 問題4:4_9編譯顯示方法聲明無效:需要返回類型
- 問題4解決方案:SIM.java中錯將類名寫為
class STM
提醒了我在輸入代碼時註意相近字符,防止弄混。 - 問題5:4_18編譯顯示找不到或無法加載主類
- 問題5解決方案:通過檢查代碼,發現包名
hello
誤輸入為hell,主類包名錯誤導致無法加載。 - 問題6:使用
git commit -m "註釋"
過程中提示error: insufficient permission for adding an object to repository database ./objects
錯誤
- 問題6解決方案:參考git pull 報錯
使用sudo chmod 777 -R .git/objects
命令添加權限後commit可正常使用
但在隨後運行腳本statistics.sh
時出現另外一個問題:無法顯示最近的commit操作內容
參考 三分鐘教你學Git(二十四) error: insufficient permission
在git創建倉庫目錄20165202jhs
下使用sudo chown -R current_user .git/objects
修改權限為當前用戶可寫後,該目錄下腳本運行正常。
但根目錄下仍顯示權限問題,所以本問題有待繼續求教老師同學。
代碼托管
上周考試錯題總結
本周未進行考試
感悟
本周的教材代碼量明顯上升,week2的內容很多還是C語言的基礎,而這周開始的教材內容多了很多新知識,需要更多的實踐去理解學習。這周自己增加了vim的幾個小功能,使編譯工具更加方便順手,還是很開心的。在代碼問題6的求解過程中慢慢對git和linux的一些命令有了更多的認識。兩周過後起碼從最初上手的一頭霧水,到現在可以去借助網絡不斷解決問題。最近的一些錯誤更加提醒我要註意編輯代碼時的準確性,一些出在語法上的編譯問題都是可以盡量避免的。同時,還是要盡量科學地分配敲代碼的時間,把平時時間分配出來分塊練習,不能等周末兩天突擊。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | |
---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 |
第一周 | 24/24 | 1/4 | 15/15 |
第二周 | 423/423 | 2/6 | 14/29 |
第三周 | 702/1109 | 1/7 | 16/45 |
20165202 第3周學習總結