20155328 2016-2017-2 《Java程序設計》第7周學習總結


20155328 2016-2017-2 《Java程序設計》第7周學習總結

教材學習內容總結

  • 時區

    • Date與DateFormat

      • Date只用來獲取epoch毫秒數

      • DateFormat來格式化成人類理解的年月日時分秒

    • Calendar: 時間的運算

      • getInstance(): 默認取得GregorianCalendar(Calendar的子類)實例。

      • get():取得年月日等時期時間字段(指定字段枚舉常數:Calendar.YEAR, ~.MONTH, ~.DATE)注意:get(Calendar.MONTH比正常值小1)

      • add():正數為加,負數為減;eg:calendar.add(Calendar.YEAR,-2);

      • before():比較是否在某個日期前;after():比較是否在某個日期后

      • getTimeZone("ID字符串"):java.util.TimeZone的方法

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

  • 問題1:正在學教材432頁How Old程序的時候狄維佳同學回來了,告訴我可以讓輸出結果變成四百多歲,就將程序最后的L去掉了,輸出結果變成了四百多。

  • 解決方案:最后的L是強制類型轉換,輸出的實際結果已經超過了int范圍,在二進制中只保留其最后32位。

  • 問題2:對clone的用法不是很理解。

  • 解決方案:在實際編程過程中,我們常常要遇到這種情況:有一個對象A,在某一時刻A中已經包含了一些有效值,此時可能 會需要一個和A完全相同新對象B,並且此后對B任何改動都不會影響到A中的值,也就是說,A與B是兩個獨立的對象,但B的初始值是由A對象確定的。在 Java語言中,用簡單的賦值語句是不能滿足這種需求的。要滿足這種需求雖然有很多途徑,但實現clone()方法是其中最簡單,也是最高效的手段。

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

  • 問題1:在拷貝書上代碼運行時,出現了下圖這樣的標紅錯誤:

  • 問題1解決方案:發現是沒有撰寫dateTimeInstanceDemo,寫了就好了。

代碼托管

(statistics.sh腳本的運行結果截圖)

上周考試錯題總結

1
(多選題|1分)
下面哪條命令可以把 f1.txt 復制為 f2.txt ?
:
A .
cp f1.txt f2.txt

B .
copy f1.txt f2.txt

C .
cat f1.txt > f2.tx

D .
cp f1.txt | f2.tx

E .
copy f1.txt | f2.tx

copy是Windows下的命令。cat f1.txt > f2.tx 通過輸出重定向實現了復制。

6
(多選題|1分)
如果有以下代碼段:
Thread thread = new Thread(new ________________() {
public void run() {...}
});

空白部分指定哪些類型可以通過編譯?
:
A .
Runnable
B .
Thread
C .
Future
D .
Executor

查API文檔,Thread 也實現了 Runnable 接口

10
(多選題|1分)
Given an instance of a Stream, s, and a Collection, c, which are valid ways of creating a parallel stream? (Choose all that apply.)
給定一個Stream的實例s, 一個Collection的實例c, 下面哪些選項可以創建一個並行流?

:
A .
new ParallelStream(s)

B .
c.parallel()

C .
s.parallelStream()

D .
c.parallelStream()

E .
new ParallelStream(c)

F .
s.parallel()

D、F沒有階級parallelstream,所以A和E是不正確的。方法定義在流類從現有流創建一個並行流parallel();因此F是正確的,C是不正確的。方法中定義的類創建從一個集合的並行流parallelstream();因此D是正確的,B是不正確的。

15.(單選題|1分)
Assuming / is the root directory, which of the following are true statements? (Choose all that apply.)

:
A .
/home/parrot is an absolute path.

B .
/home/parrot is a directory.

C .
/home/parrot is a relative path.

D .
The path pointed to from a File object must exist.

E .
The parent of the path pointed to by a File object must exist

根目錄開始的路徑是絕對路徑,所以A是正確的,C是錯誤的。B是不正確的,因為路徑可能是文件系統中的文件或目錄。文件對象可以指向文件系統中不存在的路徑,所以D和E是錯誤的。

點評過的同學博客和代碼

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

這周學習的內容少了很多,再加上實驗,感覺自己提升了一些學習效率,也更加注重了思考。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 8/8 1/1 20/20
第二周 164/172 1/2 25/45
第三周 248/420 1/3 25/70
第四周 465/885 1/4 25/95
第五周 390/1275 1/5 15/110
第六周 626/1901 1/6 24/134
第七周 269/2170 2/8 20/154

嘗試一下記錄「計划學習時間」和「實際學習時間」,到期末看看能不能改進自己的計划能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟件工程軟件的估計為什么這么難軟件工程 估計方法

  • 計划學習時間:24小時

  • 實際學習時間:20小時

  • 改進情況:

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)

參考資料


免責聲明!

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



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