1. 程式人生 > >計算機二級Java複習1

計算機二級Java複習1

1.程式設計語言的基本成分:資料成分,運算成分,控制成分,傳輸成分。
例:
資料:2
運算:±
控制:if
傳輸:函式

2.軟體需求規格說明書:
a.便於使用者、開發人員進行理解和交流
b.反映出使用者問題的結構,可以作為軟體開發工作的基礎和依據
c.作為確認測試和驗收的依據
錯誤選項:便於開發人員進行需求分析
解釋:需求說明書不需要進行需求分析,已經需求分析過了
軟體需求規格說明書的作用:
a.軟體驗收的依據
b.使用者與開發人員對軟體要做什麼的共同理解
c.軟體設計的依據
錯誤選項:軟體可行性研究的依據
解釋:軟體可行性研究的依據 :系統目標

3.軟體工程的三要素:工具,過程,方法

4.軟體生命週期可分為定義階段,開發階段,維護階段。詳細設計屬於開發階段

5.javap反編譯

6.線性結構是一個有序資料元素的集合
常見的線性結構:線性表,堆,棧,佇列,雙佇列,陣列,串
非線性結構:樹(二叉樹),圖(網),廣義表,二維陣列,多維陣列
二叉樹的邏輯結構是樹狀結構

7.迴圈佇列
front的初始值:第一個元素的前一項
rear的初始值:最後一個元素
隊滿時:(rear+1)%n==front
計算迴圈佇列的個數:計算方法是“尾指標減頭指標,若為負值,則加其容量即可”“rear-front”
比較次數比元素數少1

8.在關係資料庫中,屬性是各個實體的屬性,用‘二維表’表示實體之間聯絡

9.選擇是按照行進行,投影是按列進行,自然對接是對兩個表進行操作的

10.資料字典(DD)(Data dictionary) 所定義的物件都包含在資料流圖(DFD圖)(Data Flow Diagram)
DD是對DFD圖中被命名的元素進行確切解釋
資料字典DD包括:資料項、資料結構、資料流、資料儲存、處理過程
結構化分析常用的工具是資料流圖,資料字典,判定數,判定表

11.白盒測試主要針對的是程式程式碼邏輯,黑盒測試主要針對的是程式所展現給使用者的功能,簡單的說就是前者測試後臺程式後者測試前臺展示功能。
黑盒測試的方法:邊界值分析法,錯誤推測法,等價類劃分法,因果圖
白盒測試方法:邏輯覆蓋(語句覆蓋、路徑覆蓋、判定覆蓋、條件覆蓋),基本路徑測試,

1.java語言用位元組碼進行解釋執行,’JVM‘虛擬機器編譯生成位元組碼

2.URL是’ 統一資源定位符‘的縮寫(Uniform Resource Locator)

3.java位元組碼檔案的拓展名:.class

4.一顆二叉樹共有47個結點,其中23個度為2的結點。根在第一層,二叉樹的深度為:6
深度為k的二叉樹至多有2^k-1個結點

5.資料獨立性分為邏輯性和物理獨立性。當總體邏輯結構改變時,其邏輯結構可以不變,而根據區域性邏輯結構編寫的應用程式不必修改,稱為 物理獨立性。

5.關係資料庫中能實現專門關係運算包括:選擇、連線、投影

6.軟體按功能分為應用軟體、系統軟體、支撐軟體(或工具軟體)

1.線性連結串列:
儲存空間不一定是連續的,且元素的儲存順序是任意的

2.char型別的取值範圍:在java中是16位的,倆個位元組,因為java用的是unicode
範圍:0~2^16-1 或0~65535

3.final定義常量,const關鍵字是c保留的,在java中不能使用

4.ASCII碼 a:97

5.NULL不是java關鍵字,關鍵字都小寫

6.length()方法獲取當前 字串 長度
length屬性獲取 字元陣列 長度

1.bit是計算機儲存單位,’類‘是java程式中基本的結構單位

2.java中的字元變數在記憶體中佔16位(char)

3.Java中的類包裝對應關係是:byte(Byte),short(Short),int(integer),long(Long),double(Double),char(charscter),boolean(Boolean)

1.substring() 方法用於提取字串中介於兩個指定下標之間的字元。

2.異常處理:try內容執行完成後,自動執行finally語句。finally每次都要執行,常用來關閉流物件或結束執行緒

3.double d =Matcos(MattoRadians(42)); 計算42度(角度)的餘弦值
toRedins角度轉化為弧度,toDegrees()引數轉化為角度

4.邏輯運算子有三種:! && || 非 與 或
位運算子:與 或 非 異或 & | ~ ^
移位運算子:<<左移(相當於乘以2) >>右移(相當於除以2) >>>無符號右移,空位均補0

1.軟體開發週期是指:軟體產品從提出、實現、使用維護到停止使用退役的過程

2.陣列a[4] 可以存4個元素,下標位0123 a.length為4

3.break語句最常見的用法是在switch語句中,通過break語句退出switch語句,使程式從整個switch語句後面的‘第一條語句’開始執行。

4.僅有順序、選擇、迴圈結構構成的程式為結構化程式.

5.public static void main(String args[]){
int a=3;
int b=5;
System.out.println(a/b);
}
結果:0
預設是int

6.int i=0;
while(i<100){
i++;
if(i<100)continue;
System.out.println(i);
}
結果:100

1.長度為n的線性表,最壞情況下,排序為n(n-1)/2次。除了堆排序演算法的比較次數是O(nlog2 n),其他的都是n(n-1)/2

2.長度為n的線性表,順序查詢最大次數為n(我需要資料結構的書)

3.java中,所有類的根類是javlanObject

4.用package說明一個包時,該包的層次結構必須與檔案目錄層次結構相同

5.InputStream時位元組流,字元輸入時字元流CharInputSteam

6.static 靜態變數只能呼叫靜態變數,靜態方法中不能引用非靜態變數

7.一個物件序列化的介面,一個類只有實現了serializable介面,他的物件才是可以序列化的。因此如果要序列化某些類的物件,這些類就必須實現serializable介面。而實際上,serializable是一個空介面,沒具體內容,他的目的只是一個簡單的標識一個類的物件可以被序列化。
serializable 是一個空介面

8.java有多重繼承沒有多繼承。假設有三個類,人類、士兵類、步兵類。多重繼承是指步兵繼承了士兵類,士兵類繼承了人類。。。。假設有農民工類、工人類、農民類。農民工類有工人和農名倆個類,稱為多繼承,多繼承是指一個子類有倆個父類。
java是單一繼承的

9.byte [ ] array1,array2 [ ];
byte array3 [ ] [ ];
byte [ ] [ ] array4;
因為byte[ ]宣告的是個陣列,但array2[ ]也是個陣列,所以array2是array2[ ] [ ] 一個二維陣列
而array1[ ]是一個一維陣列,所以不能相互傳遞引用。array3和array4是二維陣列。

10.內部類不可以使用abstract修飾符定義為抽象類(你需要看書瞭解抽象類)

11.在子類中呼叫被重寫父類方法的關鍵字:super(子類重寫父類)

12.面向物件方法中,繼承是指 類之間共享屬性和操作的機制

13.windowsListener 的 方法:
windowActivated windowClosed windowClosing windowDeativated windowDeciconifiled windowlconified windowOpened

14.類變數即靜態變數,用static修飾 類變數屬於成員變數
java類中有倆種成員變數
一種是類變數或靜態變數 在前加static修飾 這類變數一旦賦值 它的值就在你new出來的任何一個例項中具有相同的值。
另一種叫例項變數 前面不加static修飾 每一個new出來的新例項都可以對它賦予自己需要的值
class example{
static int a = 0;
int b = 1;
}
a是類變數,b是例項變數
example e1 = new example();
example e2 = new example();
改變e1中a的值 e2中a的值也會變
改變e1中b的值 e2中b的值不會變

15.java程式預設引用的包java.lang

16.抽象類可以沒有方法體 public abstract String getDescription();

17.方法重寫規範:
a.子類方法必須與父類方法的名稱和形參保持一致
b.返回型別必須與父類一致
c.不能縮小父類的訪問許可權,但可以擴大訪問許可權
d.不能丟擲比父類方法更多的異常

18.下列程式碼中的內部類名是 B
import java. awt.event.;
lapoct javax.swing.
;
class TalkingClock(
public void start(int interval,final boolean beep){
ActionListener listener=new ActionListener(){
public void actionPerformed(ActionEvent event){… }
}
Timer t=new Timer(interval,listener)
t.start();
}}
A. Timer
B. ActionListener
C. listener
D. 匿名
內部類就是在類內部重新定義的新類,該類能連線外部類,但是不能和外部類進行通訊。
ActionListenser有自己的類方法體,而Timer沒有,只是例項化了一個Timer物件。

19.類繼承Runnable介面,必須重寫run方法

20.堆疊中為了保證訪問資料得一致性,應該對類得資料進行封裝,而實現資料得到封裝得級別應該是private

21.父類先行,兒子跟上

22.方法重寫:子類方法的返回型別、方法名、引數與父類一致
方法過載:在一個類中定義了多個同名的方法,它們有不同的引數個數或引數型別
方法的重寫Overriding和過載Overloading是Java多型性的不同表現。重寫Overriding是父類與子類之間多型性的一種表現,過載Overloading是一個類中多型性的一 種表現。如果在子類中定義某方法與其父類有相同的名稱和引數,我們說該方法被重寫(Overriding)。子類的物件使用這個方法時,將呼叫子類中的定義,對它而言,父類中的定義如同被"遮蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的引數個數或有不同的引數型別,則稱為方法的過載(Overloading)。Overloaded的方法是可以改變返回值的型別。

23.抽象類不能例項化
抽象方法不能有方法體,而不是方法體為空,壓根就不能有!

24.Vector類是實現可增長的物件陣列,與陣列一樣,arrayList是list介面的大小可變陣列的實現

1.在面向物件中,類的例項稱為‘物件’

2.類是變數和‘方法’的結合體

3.java原始檔中最多隻能有一個‘public’類,其他類的個數不限

4.在java中所實現的多維陣列,實際上是由一維陣列構成的 ‘陣列的陣列’

5.在面向物件方法中,’類‘描述的是具有相似屬性與操作的一組物件。

6.構件不能獨立的顯示出來,必須將構件放在一定的’容器‘中才能顯示。

7.預設引入的包,java.Lang

8.在面向物件方法中,類之間共享屬性和操作的機制稱為’繼承‘

9.在一個類的內部巢狀定義的類稱為’內部類‘

10.java中訪問限定符有public,protected,private,default等

11.能夠用於建立可變字串物件的類是:
StringBuffer和StringBuilder的字元長度都可變,前者支援多執行緒,速度慢點。後者不支援多執行緒,速度稍快

12.‘ArrayList’在定義陣列時不必限制陣列大小

13.陣列有‘length’屬性,字串有’length()‘方法

14.繼承性使程式碼能夠‘重用’

15.抽象類中含有沒有實現的方法,該類不能‘例項化’。

16.宣告類時加上’final‘表示該類不能有子類

17.’靜態類方法‘可以通過類名直接呼叫

18.class Person{
private String name;
public Person(String name){
this.name=name;
}
18.使用者可以自定義異常,但所定義的類必須是exception異常類

19.final沒有子類,public可被重寫,private不可被重寫,static類可以被重寫