# 20162319 2016-2017-2 《程序設計與數據結構》第7周學習總結

20162319 2016-2017-2 《程序設計與數據結構》第7周學習總結

教材學習內容總結

一、理解多態
二、掌握抽象類和接口使用
三、理解方法覆蓋和動態綁定
四、會用UML建模工具
五、熟悉Java與密碼學相關的APIhtml

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

  • 問題1:try-catch如何理解
  • 問題1解決方案:try-catch語句用來標識可能拋出異常的一個語句塊。接在try塊以後的catch子句定義如何處理一種具體的異常。
  • 問題2:try塊必定要有catch子句嗎?
  • 問題2解決方案:try塊不必定非要有catch子句。若是沒有catch子句,則可使用finally子句來看看是否有對應的狀況java

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

  • 問題1:git push出問題
  • 問題1解決方案:http://www.cnblogs.com/chinxi/p/6139469.html
  • 問題2:在IDEA作Double類時不成功
  • 問題2解決方案:沒有在虛擬工廠中實例化git

代碼託管

本週虛擬機出現問題 代碼是Push上去了可是代碼量顯示不出來 以前的git push也出錯了 還有git commit出錯 如今正在解決(http://www.cnblogs.com/chinxi/p/6139469.html)這是個人解決方案 可是尚未成功數據結構

上週考試錯題總結

錯題1:下面哪些Linux 命令能夠ASCII碼和16進制單字節方法輸出Hello.java的內容?
A .
od -b -tx1 Hello.java
B .
od -tcx1 Hello.java
C .
od -tc -tx1 Hello.java
D .
od -tbx1 Hello.java
緣由:-b 是以八進制輸出 沒有熟練Linux命令
錯題2:The original class that is used to derive a new class using inheritance is called ____________________ (經過繼承派生出新類的原有類稱爲_).
A .
a superclass(超類)
B .
a parent class(父類)
C .
a base class(基類)
D .
all of the above(以上都正確)
E .
neither a, b, nor c(以上都不正確)
緣由:The original class can be called a superclass, a parent class and/or a base class.
錯題3:In order for derived classed to have access to encapsulated data members and methods of superclasses, the data members and methods should be declared using the
_________________ modifier(爲了能在派生類中引用超類中封裝的數據成員和方法,可使用修飾符_聲明).
A .
private
B .
public
C .
protected
D .
final
E .
static
緣由:Data members and methods declared using the protected modifier can be accessed by subclasses in an inheritance hierarchy, but are still encapsulated from classes and methods outside of the hierarchy.
錯題4:The special reference
______________ is used to refer to the parent class in a child class(特殊的引用_用於在子類中調用父類).
A .
this
B .
super
C .
null
D .
parent
E .
none of the above(以上都不是)
緣由: The super reference refers to the parent class in a derived class.
錯題5:A
_____________________ class represents a generic concept in a class hierarchy(_____表示類層次中的通常概念).
A .
super(超類)
B .
abstract(抽象類)
C .
interface(接口類)
D .
shadow(隱藏類)
E .
generic(通常類)
緣由:An abstract class represents a generic entity that is not completely defined. An abstract class cannot be instantiated. It contains one or more abstract methods, which are methods that should be overridden by subclasses.
錯題5:Which of the following key words indicates a new class is being derived from an existing class? (下面哪一個關鍵字代表新類是從當前類派生的?)
A .
super
B .
final
C .
extends
D .
inherits
E .
expands
緣由:The key word extends indicates that a new class is being derived from an existing class.
錯題6:To invoke a parent’s constructor in a subclass, we use the ______________ method(子類爲了調用父類的構造函數,咱們使用_方法).
A .
abstract
B .
construct
C .
parent
D .
super
E .
extends
緣由:The super method is used to invoke a parents constructor from a subclass.
錯題7:If a subclasses constructor does not make an explicit call to a superclass's constructor,
___________________ (若是子類構造函數沒有顯式調用超類的構造函數,那麼________).
A .
a run-time error will result(將產生運行時錯誤).
B .
a compile-time error will result(將產生編譯時錯誤).
C .
the constructor will be called anyway(構造函數無論怎樣都會被調用).
D .
the class will be implicitly declared as abstract(該子類將被隱式聲明爲abstract).
E .
none of the above(以上都不是)
緣由:The child's constructor will implicitly call the superclass's constructor if it is not done explicitly. This will ensure that the class is properly initialized.
錯題8:All Java classes are subclasses of the ___________________ class(因此的Java類都是_類的子類).
A .
String
B .
java.lang
C .
Java
D .
Class
E .
Object
緣由:All classes are subclasses of Java's Object class, whether explicitly specified or not.
錯題9:Which of the following methods are included in every class created in Java by inheritance? (在Java中經過繼承建立的每一個類中均包含如下哪一個方法?)
A .
next
B .
toString
C .
compareTo
D .
charAt
E .
none of the above(以上都不是)
緣由:The toString method is defined in the Object class, and is therefore included in every Java class via inheritance.
錯題9:Methods and variables declared as private in a parent class cannot be accessed in a child class(在父類中聲明爲private的方法和變量不能被子類訪問).
A .
true
B .
false
緣由:In order for a child class to have access to the private data and methods of a parent class, they should be declared using the protected modifier, which still enforces encapsulation, but allows for flexibility in an inheritance hierarchy.
錯題10:In Java subclass can only extend one parent class(在Java中子類只能繼承一個父類).
A .
true
B .
false
緣由:Allowing a subclass to extend multiple parent classes leads to multiple inheritance, which is not supported in Java.
錯題11:若是有如下的程序代碼:
Int x=100;
Int y=100;
Integer wx=x;
Integer wy=y;
System.out.println(x==y);
System.out.println(wx==wy);
在JDK5以上的環境編譯與執行,則顯示的結果是
A .
true、true
B .
true、false
C .
false、true
D .
編譯失敗
緣由:沒理解代碼
錯題11:若是有如下的程序代碼:
int[] arr1 = {1, 2, 3};
int[] arr2 = new int[arr1.length];
arr2 = arr1;
for(int value : arr2) {
System.out.printf("%d", value);
}
如下描述何者正確?
A .
執行時顯示123
B .
執行時顯示12300
C .
執行時出現 ArrayIndexOutOfBoundException 錯誤
D .
編譯失敗
錯題12:若是有如下的程序代碼:
String [][] strs={
{「Java」,「Java」,「Java」} ;
{「Java」,「Java」,「Java」,「Java」};
};
For(
____ row:strs){
For(____ str:row){
.........
}
}
空白處應該分別填上
A .
String、String
B .
String、String[]
C .
String[]、String
D .
String[]、String[]ide

結對及互評

20162302(http://www.cnblogs.com/yangjingdian/p/6686697.html函數

評分標準

  1. 正確使用Markdown語法(加1分):
    • 不使用Markdown不加分
    • 有語法錯誤的不加分(連接打不開,表格不對,列表不正確...)
    • 排版混亂的不加分
  2. 模板中的要素齊全(加1分)
    • 缺乏「教材學習中的問題和解決過程」的不加分
    • 缺乏「代碼調試中的問題和解決過程」的不加分
    • 代碼託管不能打開的不加分
    • 缺乏「結對及互評」的不能打開的不加分
    • 缺乏「上週考試錯題總結」的不能加分
    • 缺乏「進度條」的不能加分
    • 缺乏「參考資料」的不能加分
  3. 教材學習中的問題和解決過程, 一個問題加1分工具

  4. 代碼調試中的問題和解決過程, 一個問題加1分學習

  5. 本週有效代碼超過300分行的(加2分)
    • 一週提交次數少於20次的不加分
  6. 其餘加分:
    • 週五前發博客的加1分
    • 感想,體會不假大空的加1分
    • 排版精美的加一分
    • 進度條中記錄學習時間與改進狀況的加1分
    • 有動手寫新代碼的加1分
    • 課後選擇題有驗證的加1分
    • 代碼Commit Message規範的加1分
    • 錯題學習深刻的加1分
    • 點評認真,能指出博客和代碼中的問題的加1分
    • 結對學習狀況真實可信的加1分
  7. 扣分:
    • 有抄襲的扣至0分
    • 代碼做弊的扣至0分
    • 遲交做業的扣至0分

點評模板:

  • 博客中值得學習的或問題:
    文字清晰明瞭 有邏輯性與學習性
  • 代碼中值得學習的或問題:
    遇到代碼問題不僅是簡單的紙上談兵,會在得知錯題的狀況下用虛擬機驗證
  • 基於評分標準,我給本博客打分:8分。得分狀況以下:
    • 週五前發博客
    • 感想,體會不假大空
    • 排版精美
    • 進度條中記錄學習時間與改進狀況
    • 有動手寫新代碼
    • 課後選擇題有驗證
    • 代碼Commit Message規範
    • 錯題學習深刻
  • 參考示例

點評過的同窗博客和代碼

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

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 10/200 2/2 20/20
第二週 30/500 1/4 18/38
第三週 45/1000 2/7 22/60
第四周 300/1300 1/9 30/90

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

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法

  • 計劃學習時間:300小時

  • 實際學習時間:150小時

  • 改進狀況:

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

參考資料

相關文章
相關標籤/搜索