糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

  一、選擇題

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處將從鍵盤讀到的字符輸出。