當前位置:才華齋>計算機>計算機二級>

2015年計算機二級考試JAVA模擬試題庫(二)答案及解析

計算機二級 閱讀(1.92W)

  一、選擇題

2015年計算機二級考試JAVA模擬試題庫(二)答案及解析

1.D。解析:演算法的時間複雜度和空間複雜度是從不同的角度來衡量演算法的執行情況的,它們之間沒有內在聯絡。

2.B。解析:先進的軟體開發工具和環境對提高開發人員工作效率是至關重要的。

3.D。解析:程式設計語言的基本成分有:資料成分,用於描述程式所涉及的資料;運算成分,用於描述程式中所包含的運算;控制成分,用於描述程式中所包含的控制;傳輸成分,用於表達程式中資料的傳輸。

4.C。解析:對線性表進行順序查詢時,從表中的第一個元素開始,將給定的值與表中逐個元素的關鍵字進行比較,直到兩者相符,查詢到所要找的元素為止。在最壞情況

下,要查詢的元素是表的最後一個元素或查詢失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數為n。

5.D。解析:對二叉樹的前序遍歷是指:先訪問根結點,然後訪問左子樹,最後訪問右子樹,並且,在訪問左、右子樹時,先訪問根結點,再依次訪問其左、右子樹。

6.C。解析:面向物件的程式設計是用物件模擬問題領域中的實體,各物件之間相對獨立,相互依賴性小,通過訊息來實現物件之間的相互聯絡。

7.B。解析:基於軟體工程的目標,軟體工程的理論和技術性研究的內容主要包括軟體開發技術和軟體工程管理。

8.D。解析:在面向物件方法中,物件之間通過訊息進行通訊。訊息中只包含傳遞者的要求,但並不指示接受者應該怎麼完成這些處理。

9.C。解析:軟體除錯技術包括強行排錯法、回溯法和原因排除法。邊界值分析、錯誤推斷都是黑盒測試的方法。

10.C。解析:資料庫系統(DBS)由資料庫(DB)、資料庫管理系統(DBMS)、資料庫管理員、硬體平臺和軟體平臺5個部分組成,因此DB和DBMS都是DBS的組成部分。

11.D。解析:高階語言是一類人工設計的語言,因為它對具體的演算法進行了描述,所以又稱為演算法語言。它是面向程式設計獨立於計算機的硬體。目前,計算機常用的高階語言有:BASIC語言、FORTRAN語言、COBOL語言、PASCAL語言、C語言、PROLOG語言、而當前流行的,面向物件的程式設計語言有C++和用於網路環境的程式設計語言Java等。

12.B。解析:假設地址匯流排有n條,記憶體的定址範圍是2n。

13.B。解析:廣域網是指遠距離的計算機網際網路絡,分佈範圍可達幾千千米乃至上萬千米甚至跨越國界、州界、遍及全球範圍。區域網是指一個區域性區域中的、近距離的計算機網際網路絡,通常採用有線方式連線,分佈範圍從幾百米到幾千米。例如,一座大樓內或相鄰的幾座樓之間的網際網路絡。一個單位、學校內部的網路多為區域網。

14.A。解析:一般人們將加密前的檔案稱為明文,而加密後的檔案稱為密文,因此加密的目的就是將明文變為密文。而反過來將密文變為明文的過程則稱為解密。

15.A。解析:每臺直接連線到Internet上的計算機、路由器都必須有唯一的IP地址。IP地址是Internet賴以工作的基礎。Internet中的計算機與路由器的IP地址採用分層結構,它是由網路地址與主機地址兩部分組成。對於C類地址,其網路地址空間長度為21位,主機地址空間長度為8位,C類I P地址範圍從:~。主機名與它的IP地址一一對應,因此在Internet上訪問一臺主機既可以使用它的主機名,也可以使用它的I P地址。

16.D。解析:多執行緒是Java程式的併發機制,它能同步共享資料、處理不同的事件。

17.A。解析:為了充分利用資源,Java有一個系統級的執行緒,用來對記憶體的使用進行跟蹤,它可以在系統空閒時對不用的記憶體空間進行回收,從而使程式設計師從繁忙的記憶體管理中解放出來。

18.A。解析:Java 2平臺包括:J2ME平臺、J2SE平臺和J2EE平臺。其中:J2ME是為嵌入式和移動裝置提供的Java平臺;J2SE是面向企業級應用與服務的綜合性標準開發平臺;J2EE是面向大型企業級用容器管理專用構件的應用平臺。而JDK 5.0是一個Java開發軟體包。

19.A。解析:在JDK中:是文件生成器,將Java原始碼和包以MML格式生成AP文件;是Java直譯器;是Java反彙編器;是Java剖析工具,提供直譯器剖析資訊。

20.C。解析:JPanel是Swing的中間容器;JTable是Swing中可編輯資訊的構件;JFrame是Swing的頂層容器。

21.B。解析:本題考查的是Java的基本資料型別及其運算。程式開始生成了一個字元型變數a和3個整型變數i、j、aa。而整型變數aa的初始值是a+i,其中a是一個字元型變數。如何進行加法運算呢?Java語言規定,char型資料可以自動轉換成int型別,轉換的結果就是該字元的ASCIl碼值。因此,整型變數aa的初始值為字元”h”的ASCIl碼值加上l00。如果記住h的ASCIl碼值是104,則直接就確定aa的初始值是204,選項B為正確答案。如果記不得h的ASCIl碼,題目中則給出提示。題目中說”輸出結果的第二行為bb=a”,也就是字元bb的值為字元a,bb的生成語句是char bb=(char)j,是把整型變數j的值強制轉換為字元型。同樣,把ASCIl碼值為j(97)所對應的字元賦值給bb。顯然,字元a的ASCIl碼值為97,字元b的ASCIl碼值為98,依次類推,字元h的ASCIl碼為l04。因此,本題的正確答案是B。

22.C。解析:本題考查的是Java語言中運算子的特殊用法。相等比較運算子"= =",不僅可用於基本型別的資料之間的比較,還可以用於複合型別資料之間的比較。但是,對於複合型別資料的"= ="運算,其比較的目標是兩個運算元是否是同一個物件。如果需要比較兩個物件的值是否相同,則可以呼叫equals()方法。題目中函式equalsMethodl()的程式碼非常簡單,首先生成兩個字串物件sl和s2,然後輸出表達式"sl= =s2"的結果。根據上面介紹的相等比較運算子的用法,字串物件sl和s2是複合型別資料,因此表示式"sl= =s2"比較的是sl和s2是否同一個物件。顯然,sl和s2雖然具有相同的值,即"how are you",但它們是兩個不同的物件。因此,本題的正確答案是C。

23.D。解析:本題考查的是條件分支語句if-else。if-else根據判定條件的真假來執行兩種操作中的一種。當條件為真時,執行if語句後面的程式碼塊;當條件為假時,執行else後面的程式碼塊。題目中的程式碼段是一個if-else的巢狀語句,根據if-else語句的執行過程來進行分析。當x的值為0時,布林表示式"x= =0"的結果為真,就輸出”冠軍”;當x的值不為0時,則執行else語句中的內容。else語句中的程式碼又是一個if-else語句,還是和上面一樣進行分析。當X的值不等於0且大於-3時,布林表示式”x>-3”的結果為真,輸出"亞軍";當x的值不等於0且不大幹-3,也就是X的值不等於0同時x的值小於等於-3時,則輸出"季軍"。經過上述分析可知,要想輸出"季軍",x所滿足的條件為x!=O&x<=-3,但是當x<=-3時,x的值一定不會為0。所以,X所滿足的條件可以簡寫為x<=-3。因此,本題的正確答案為D。

24.C。解析:本題考查的是構造方法的使用。Java語言中,構造方法是一種特殊的方法,是為物件初始化操作編寫的方法,用它來定義物件的初始狀態。Java中的每個類都有構造方法,它也是由方法名、引數和方法體組成的。構造方法有如下特點:

構造方法的名字必須與類名相同。

構造方法不返回任何資料,但不用void來宣告。

使用者不能直接呼叫構造方法,必須通過關鍵字new自動呼叫。

構造方法可由使用者在類中定義,預設時由Java語言自動生成。但它是個空方法,變數被賦予該資料型別的預設值。

在構造方法實現中,可以進行方法過載,即定義多個構造方法。過載構造方法的目的是使類具有不同的初始值,為類物件的初始化提供方便。根據上述構造方法的特點可知,本題選項C的說法是錯誤的。

25.D。解析:本題考查t包中定義的介面卡類。該包中定義的'介面卡類包括①ComponentAdapter構件介面卡;②ContainerAdapter容器介面卡;③FocusAdapter焦點介面卡;④MouseAdapter滑鼠介面卡;⑤KeyAdapter鍵盤介面卡⑥WindowAdapter視窗介面卡,由此可知本題答案為D。

26.D。解析:在Java中定義了兩種型別的流,位元組型和字元型,這兩種流分別用4個抽象類表示:InputStream,OutputStream,Reader,Writer,其中InptutStream和OutStream表示位元組流,Reader和Reader是表示字元流,所以位元組輸入抽象類為InptutStream。

27.C。解析:本題考查Java的記憶體讀寫。在中,還提供了 ByteArrayInputStream、ByteArrayoutputStream和StringBufferInputStream類可直接訪問記憶體,它們是InputStream和OutputStream的子類。用ByteArrayOutputStream可向位元組陣列寫入資料;ByteArrayInputStream可從位元組陣列中讀取資料。

28.A。解析:本題考查Java的關係運算符。B中寫法不正確,C、D均為賦值運算子。

29.C。解析:本題考查執行緒的基本操作。Java中提供了interrupt方法用來中斷一個執行緒,當呼叫一個執行緒的interrupt方法時,即向該執行緒傳送一箇中斷請求。在呼叫執行緒的interrupt方法時,如果該執行緒由於呼叫了sleep方法或wait方法而正在處於阻塞狀態,那麼執行緒會丟擲一個InterruptException異常。

30.C。解析:本題考查System類的基本知識。Systern類是一個final類,所有的方法都用類變數來呼叫,對System類不可能例項化。System類主要用來提供標準輸入/輸出和系統環境資訊的訪問設定。而System類的屬性有:①public static final InputStream in;標準輸入;②publicstatic final OutputStream out;標準輸出;③pubhc static finalPrintStream err;標準錯誤輸出。

31.B。解析:本題考查的是Java增量運算子"++"。 x++是先使用後加l,即首先使用X的值進行表示式的計算,然後才對x的值加1。而++x是先加1後使用,即首先對x的值加1,然後使用x的值進行表示式的計算。本題首先生成一個整型變數C,其初始值為5。第一條輸出語句輸出c的初始值,即5。然後,第二條輸出表達式c++的結果,即先輸出C的值,然後才對c的值加1,所以,第二條輸出語句輸出的是5,輸出後c的結果才為6。最後一條輸出語句輸出結果為6。因此,本題的正確答案為B。

32.D。解析:本題考查的是Java中的Applet以及Applet與Application的區別。Applet是能夠嵌入HTML語言中,並能夠在瀏覽器中執行的類。Applet的執行環境是Web瀏覽器,所以必須建立HTML檔案,告訴瀏覽器如何載入與執行Applet。因為Applet是不能直接通過Java命令列啟動執行的。所以選項D的說法錯誤。

33.D。解析:本題考查執行緒的基本知識。執行緒與程序在概念上是相關的,執行緒是由表示程式執行狀態的暫存器、程式計數器、棧指標以及堆疊組成,它不包含程序地址空間中的程式碼和資料。程式碼所操作的資料是Java執行緒模型中的一個組成部分,資料與程式碼是獨立的。數

據可以被多個執行緒共享,也可不共享。Java語言中提供兩種建立執行緒的方法,一種是通過繼承Thread類建立執行緒,另一種是通過實現Runnable介面來建立執行緒。

34.A。解析:處理物件傳輸就是把物件序列化。Java語言中,如果要序列化某些類的物件,這些類就必須實現Serializable介面。

35.C。解析:本題考查Java語言的輸入/輸出流。InputStream類、FilelnputStream類和BufferedReader類都是Java語言中和輸入輸出直接相關的類,不屬於輔助類,因此可以直接判斷出選項C為正確答案。

36.C。解析:paint()是與Applet顯示相關的方法,由它來具體執行Applet的繪製功能。init()方法用於初始化Applet,start()方法用於啟用Applet。在init()方法完成後,將呼叫start()方法,而且在Applet每次顯示時都要呼叫。destroy()方法用於徹底終止Applet。

37.C。解析:執行緒生命週期中出現的狀態包括:新建狀態、可執行狀態、執行狀態、阻塞狀態和終止狀態。

38.C。解析:resume()是Thread類提供的用於執行緒控制的方法;start()是Thread類中的方法,新建的執行緒不會自動執行,必須呼叫執行緒的start()方法才能執行該執行緒;run()是Thread類中的方法,在該方法中定義了執行緒的具體行為,執行緒開始執行時,就是從它的run()方法開始執行的,就像Java應用程式從main()開始、Applet從ink()開始一樣;init()不是Thread類中的方法。

39.B。

  二、基本操作題

第1處:int a,int b

第2處:maxNum=a

第3處:return maxNum

【解析】第1處定義max()方法中的兩個整型形參;第2處將兩者中較大的賦給maxNum;第3處返回最大值。

  三、簡單應用題

第1處:electedltem()

第2處:electedIndex()

【解析】第1處是獲取當前選中項的資料;第2處清除選中項的索引號。

  四、綜合應用題

第1處:int i=0;i  第2處:eyListener(new KeyEventHandler())

第3處:tln(eyChar())

【解析】第1處是作為遍歷keys中元素的條件,而keys中的字元元素就是各個按鈕對應的字元。第2處註冊鍵盤事件監聽功能,KeyButton實現了KeyLIstener介面,而kb是KeyButton類的物件,所以它是合格的監聽者。第3處將從鍵盤讀到的字元輸出。