20155312 2006-2007-2 《Java程序設計》第二周學習總結
課堂內容總結
- git:版本控制
- 生活中的容災備份
- 歸納思維、實驗思維、計算思維
- 計算機:實現自動化
- 學會使用快捷鍵
添加C:\quickpoints
到PATH中,使用win+R
。 - tree:查看目錄結構
- clear:清屏
- 在項目的根目錄下工作,
cd bin
再運行 javac -d bin src/Hello.java
將.class文件放入bin- 編譯運行沒有問題后,git(每天做)
- git add .
- git commit -m "完成..."
vi src/Hello.java
進入編輯頁面vi run.sh
寫一個腳本- javac -d bin src/Hello.java
- ...
- ...
chmod +x run.sh
修改可執行權限./run.sh
直接執行腳本git push
(周末做)mkdir doc
touch doc/week2.md
(下載markdown)- 推薦PicPick截圖工具
git pull
把碼雲上的改變同步到本地
教材學習內容總結
使用IDEA技巧:
-
輸入「psvm」,然后按「tab」,自動生成
public static void main(String[] args)
-
輸入「sout」,然后按「tab」,自動生成
System.out.println()
-
關於快捷鍵:
- 顯示項目視圖:「Alt+1」
- 編譯程序:「Alt+Shift+F10」
- 設置斷點后,「Alt+Shift+F9」開始調試
- 單步運行:「F8」(優先)或「F7」
- 運行多行:「F9」
- 打開斷點設置窗口:「Ctrl+Shift+F8」
- 設置臨時斷點:「Ctrl+Alt+Shift+F8」
類型
- 基本類型
- 整數
- short(2字節)
- int(4字節)
- long(8字節)
- 字節
- 長度為1字節
- 可表示-128~12整數
- 浮點數
- float(4字節)
- double(8字節)
- 字符
- 每個字符占2字節
- 布爾
- true與false
- 無法與其他類型運算
- 整數
- 類類型
注釋
//
:單行批注/*
與*/
:多行批注
標准API
System.out.printf
System.out.println
格式化符號
%b
,%B
:輸出boolean的值。%h
,%H
:使用Integer.toHexString(arg.hashCode())
來得到的輸出結果。%n
換行。- 可以在輸出 浮點數時指定寬度。
變量
- 聲明變量同c語言,命名習慣:以小寫字母開始,每個單詞開始時第一個字母大寫。eg:
int ageOfStudent
- 固定變量的值:在變量聲明前加
final
- 整數字面常數的表示:
int number1=12; //10進制
int number2=0xC; //16進制,以0x開頭
int number3=014; //8進制,以0開頭
運算符
- 注意:位運算中二進制數最高位是符號位
- 區分:
>>
(補1或0)<<
(補0)>>>
(補0)
類型轉換
- 浮點數:默認double型
- float PI=3.14F;
- float PI=(float) 3.14;
- 整數:默認不超過int型長度
- long number = 2147483648L;
教材學習中的問題和解決過程
- 問題1:下面的程序中為什么
count +1 > Integer.MAX_VALUE
永遠不會是true?
int count = 0;
while(...) {
if(count +1 > Integer.MAX_VALUE) {
count = 0;
}
else {
count++ ;
}
...
}
-
未解決
-
問題2:無法執行
clear
,提示不是內部或外部命令 -
解決:
clear
是Linux中的清屏指令,在Windows下可以用cls
-
問題3:cmd中用
cd d:\
無法進入d盤 -
解決:直接輸入
d:
-
問題4:用
rm
無法刪除文件 -
解決:
del (文件名)
-
問題5:沒法在cmd中直接
git add
等,提示git不是內部或外部命令也不是可運行的程序 -
解決:嘗試類似“d:\java\bin\javac”的方式,注明git的位置。
-
問題6:書中用一個for循環打印九九乘法表時,
for (int i = 2; j = 1; j<10; i = (i==9)?((++j/j)+1):(i+1))
這句中(++j/j)+1
是什么意思? -
發現無論j等於幾,(++j/j)+1都等於二,此句的意思是當i=9時將i 重新賦值為2;嘗試了一下把
(++j/j)+1
直接換成2
結果編譯沒問題,但運行出錯。截圖如下:
-
問題7:周一到周五一直在windows環境中編寫代碼,只有周六在ubuntu環境中。在windows的cmd中運行statistics.sh腳本后,結果只是在另一個窗口閃現一下就消失了。
-
未解決
代碼調試中的問題和解決過程
- 問題1:在
do while
循環體中聲明變量為int型后,在while(...)
條件中變量出錯。 - 解決:在循環體前定義變量。
代碼托管
上周考試錯題總結
- 填空:Linux Bash中,查找home目錄中昨天創建的文件的命令是(find ~ -ctime 1)
- 出錯原因:忽略“昨天創建”,誤以為是“修改”
其他(感悟、思考等,可選)
- 編譯代碼時進入存放
.java
文件的目錄后,執行"D:\java\bin\javac" -d d:\daima\out\production\daima Odd.java
最后的文件名前無需加src\
否則無法執行 - 運行代碼時,要進入
.class
文件存放的目錄
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 4/0 | 1/3 | 28/80 | 下載了JDK和GIT |
第二周 | 61/4 | 1/4 | 20/108 | 在unbuntu中熟練編寫程序,熟練進行文件、目錄等操作 |
嘗試一下記錄「計划學習時間」和「實際學習時間」,到期末看看能不能改進自己的計划能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
-
計划學習時間:14小時
-
實際學習時間:20小時
-
改進情況:不像上一周一樣因為時間緊而影響學習質量。這周合理安排學習時間,每天學習。