- 相關(guān)推薦
2015年計算機(jī)二級考試JAVA模擬試題庫(一)答案及解析
一、選擇題
1.D!窘馕觥克惴ǖ臅r間復(fù)雜度和空間復(fù)雜度是從不同的角度來衡量算法的執(zhí)行情況的,它們之間沒有內(nèi)在聯(lián)系。
2.B!窘馕觥肯冗M(jìn)的軟件開發(fā)工具和環(huán)境對提高開發(fā)人員工作效率是至關(guān)重要的。
3.D!窘馕觥砍绦蛟O(shè)計語言的基本成分有:數(shù)據(jù)成分,用于描述程序所涉及的數(shù)據(jù);運(yùn)算成分,用于描述程序中所包含的運(yùn)算;控制成分,用于描述程序中所包含的控制;傳輸成分,用于表達(dá)程序中數(shù)據(jù)的傳輸。
4.C。【解析】對線性表進(jìn)行順序查找時,從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況
下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。
5.D!窘馕觥繉Χ鏄涞那靶虮闅v是指:先訪問根結(jié)點,然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結(jié)點,再依次訪問其左、右子樹。
6.C!窘馕觥棵嫦?qū)ο蟮某绦蛟O(shè)計是用對象模擬問題領(lǐng)域中的實體,各對象之間相對獨立,相互依賴性小,通過消息來實現(xiàn)對象之間的相互聯(lián)系。
7.B!窘馕觥炕谲浖こ痰哪繕(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和軟件工程管理。
8.D!窘馕觥吭诿嫦?qū)ο蠓椒ㄖ校瑢ο笾g通過消息進(jìn)行通信。消息中只包含傳遞者的要求,但并不指示接受者應(yīng)該怎么完成這些處理。
9.C!窘馕觥寇浖{(diào)試技術(shù)包括強(qiáng)行排錯法、回溯法和原因排除法。邊界值分析、錯誤推斷都是黑盒測試的方法。
10.C!窘馕觥繑(shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺5個部分組成,因此DB和DBMS都是DBS的組成部分。
11.D!窘馕觥扛呒壵Z言是一類人工設(shè)計的語言,因為它對具體的算法進(jìn)行了描述,所以又稱為算法語言。它是面向程序設(shè)計獨立于計算機(jī)的硬件。目前,計算機(jī)常用的高級語言有:BASIC語言、FORTRAN語言、COBOL語言、PASCAL語言、C語言、PROLOG語言、而當(dāng)前流行的,面向?qū)ο蟮某绦蛟O(shè)計語言有C++和用于網(wǎng)絡(luò)環(huán)境的程序設(shè)計語言Java等。
12.B!窘馕觥考僭O(shè)地址總線有n條,內(nèi)存的尋址范圍是2n。
13.B!窘馕觥繌V域網(wǎng)是指遠(yuǎn)距離的計算機(jī)互聯(lián)網(wǎng)絡(luò),分布范圍可達(dá)幾千千米乃至上萬千米甚至跨越國界、州界、遍及全球范圍。局域網(wǎng)是指一個局部區(qū)域中的、近距離的計算機(jī)互聯(lián)網(wǎng)絡(luò),通常采用有線方式連接,分布范圍從幾百米到幾千米。例如,一座大樓內(nèi)或相鄰的幾座樓之間的互聯(lián)網(wǎng)絡(luò)。一個單位、學(xué)校內(nèi)部的網(wǎng)絡(luò)多為局域網(wǎng)。
14.A!窘馕觥恳话闳藗儗⒓用芮暗奈募Q為明文,而加密后的文件稱為密文,因此加密的目的就是將明文變?yōu)槊芪。而反過來將密文變?yōu)槊魑牡倪^程則稱為解密。
15.A!窘馕觥棵颗_直接連接到Internet上的計算機(jī)、路由器都必須有唯一的IP地址。IP地址是Internet賴以工作的基礎(chǔ)。Internet中的計算機(jī)與路由器的IP地址采用分層結(jié)構(gòu),它是由網(wǎng)絡(luò)地址與主機(jī)地址兩部分組成。對于C類地址,其網(wǎng)絡(luò)地址空間長度為21位,主機(jī)地址空間長度為8位,C類I P地址范圍從:l92.0.0.0~223.255.255.255。主機(jī)名與它的IP地址一一對應(yīng),因此在Internet上訪問一臺主機(jī)既可以使用它的主機(jī)名,也可以使用它的I P地址。
16.D!窘馕觥慷嗑程是Java程序的并發(fā)機(jī)制,它能同步共享數(shù)據(jù)、處理不同的事件。
17.A。【解析】為了充分利用資源,Java有一個系統(tǒng)級的線程,用來對內(nèi)存的使用進(jìn)行跟蹤,它可以在系統(tǒng)空閑時對不用的內(nèi)存空間進(jìn)行回收,從而使程序員從繁忙的內(nèi)存管理中解放出來。
18.A。【解析】Java 2平臺包括:J2ME平臺、J2SE平臺和J2EE平臺。其中:J2ME是為嵌入式和移動設(shè)備提供的Java平臺;J2SE是面向企業(yè)級應(yīng)用與服務(wù)的綜合性標(biāo)準(zhǔn)開發(fā)平臺;J2EE是面向大型企業(yè)級用容器管理專用構(gòu)件的應(yīng)用平臺。而JDK 5.0是一個Java開發(fā)軟件包。
19.A。【解析】在JDK中:javadoc.exe是文檔生成器,將Java源代碼和包以MML格式生成AP文檔;java.exe是Java解釋器;javap.exe是Java反匯編器;javaprof.exe是Java剖析工具,提供解釋器剖析信息。
20.C!窘馕鯹JPanel是Swing的中間容器;JTable是Swing中可編輯信息的構(gòu)件;JFrame是Swing的頂層容器。
21.B!窘馕觥勘绢}考查的是Java的基本數(shù)據(jù)類型及其運(yùn)算。程序開始生成了一個字符型變量a和3個整型變量i、j、aa。而整型變量aa的初始值是a+i,其中a是一個字符
型變量。如何進(jìn)行加法運(yùn)算呢?Java語言規(guī)定,char型數(shù)據(jù)可以自動轉(zhuǎn)換成int類型,轉(zhuǎn)換的結(jié)果就是該字符的ASCIl碼值。因此,整型變量aa的初始值為字符”h”的ASCIl碼值加上l00。如果記住h的ASCIl碼值是104,則直接就確定aa的初始值是204,選項B為正確答案。如果記不得h的ASCIl碼,題目中則給出提示。題目中說”輸出結(jié)果的第二行為bb=a”,也就是字符bb的值為字符a,bb的生成語句是char bb=(char)j,是把整型變量j的值強(qiáng)制轉(zhuǎn)換為字符型。同樣,把ASCIl碼值為j(97)所對應(yīng)的字符賦值給bb。顯然,字符a的ASCIl碼值為97,字符b的ASCIl碼值為98,依次類推,字符h的ASCIl碼為l04。因此,本題的正確答案是B。
22.C。【解析】本題考查的是Java語言中運(yùn)算符的特殊用法。相等比較運(yùn)算符"= =",不僅可用于基本類型的數(shù)據(jù)之間的比較,還可以用于復(fù)合類型數(shù)據(jù)之間的比較。但是,對于復(fù)合類型數(shù)據(jù)的"= ="運(yùn)算,其比較的目標(biāo)是兩個操作數(shù)是否是同一個對象。如果需要比較兩個對象的值是否相同,則可以調(diào)用equals()方法。題目中函數(shù)equalsMethodl()的代碼非常簡單,首先生成兩個字符串對象sl和s2,然后輸出表達(dá)式"sl= =s2"的結(jié)果。根據(jù)上面介紹的相等比較運(yùn)算符的用法,字符串對象sl和s2是復(fù)合類型數(shù)據(jù),因此表達(dá)式"sl= =s2"比較的是sl和s2是否同一個對象。顯然,sl和s2雖然具有相同的值,即"how are you",但它們是兩個不同的對象。因此,本題的正確答案是C。
23.D。【解析】本題考查的是條件分支語句if-else。if-else根據(jù)判定條件的真假來執(zhí)行兩種操作中的一種。當(dāng)條件為真時,執(zhí)行if語句后面的代碼塊;當(dāng)條件為假時,執(zhí)行else后面的代碼塊。題目中的代碼段是一個if-else的嵌套語句,根據(jù)if-else語句的執(zhí)行過程來進(jìn)行分析。當(dāng)x的值為0時,布爾表達(dá)式"x= =0"的結(jié)果為真,就輸出”冠軍”;當(dāng)x的值不為0時,則執(zhí)行else語句中的內(nèi)容。else語句中的代碼又是一個if-else語句,還是和上面一樣進(jìn)行分析。當(dāng)X的值不等于0且大于-3時,布爾表達(dá)式”x>-3”的結(jié)果為真,輸出"亞軍";當(dāng)x的值不等于0且不大干-3,也就是X的值不等于0同時x的值小于等于-3時,則輸出"季軍"。經(jīng)過上述分析可知,要想輸出"季軍",x所滿足的條件為x!=O&x<=-3,但是當(dāng)x<=-3時,x的值一定不會為0。所以,X所滿足的條件可以簡寫為x<=-3。因此,本題的正確答案為D。
24.C!窘馕觥勘绢}考查的是構(gòu)造方法的使用。Java語言中,構(gòu)造方法是一種特殊的方法,是為對象初始化操作編寫的方法,用它來定義對象的初始狀態(tài)。Java中的每個類都有構(gòu)造方法,它也是由方法名、參數(shù)和方法體組成的。構(gòu)造方法有如下特點:
·構(gòu)造方法的名字必須與類名相同。
·構(gòu)造方法不返回任何數(shù)據(jù),但不用void來聲明。
·用戶不能直接調(diào)用構(gòu)造方法,必須通過關(guān)鍵字new自動調(diào)用。
·構(gòu)造方法可由用戶在類中定義,默認(rèn)時由Java語言自動生成。但它是個空方法,變量被賦予該數(shù)據(jù)類型的默認(rèn)值。
·在構(gòu)造方法實現(xiàn)中,可以進(jìn)行方法重載,即定義多個構(gòu)造方法。重載構(gòu)造方法的目的是使類具有不同的初始值,為類對象的初始化提供方便。根據(jù)上述構(gòu)造方法的特點可知,本題選項C的說法是錯誤的。
25.D。【解析】本題考查java.awt.event包中定義的適配器類。該包中定義的適配器類包括①ComponentAdapter構(gòu)件適配器;②ContainerAdapter容器適配器;③FocusAdapter焦點適配器;④MouseAdapter鼠標(biāo)適配器;⑤KeyAdapter鍵盤適配器⑥WindowAdapter窗口適配器,由此可知本題答案為D。
26.D!窘馕觥吭贘ava中定義了兩種類型的流,字節(jié)型和字符型,這兩種流分別用4個抽象類表示:InputStream,OutputStream,Reader,Writer,其中InptutStream和OutStream表示字節(jié)流,Reader和Reader是表示字符流,所以字節(jié)輸入抽象類為InptutStream。
27.C。【解析】本題考查Java的內(nèi)存讀寫。在java.io中,還提供了 ByteArrayInputStream、ByteArrayoutputStream和StringBufferInputStream類可直接訪問內(nèi)存,它們是InputStream和OutputStream的子類。用ByteArrayOutputStream可向字節(jié)數(shù)組寫入數(shù)據(jù);ByteArrayInputStream可從字節(jié)數(shù)組中讀取數(shù)據(jù)。
28.A!窘馕觥勘绢}考查Java的關(guān)系運(yùn)算符。B中寫法不正確,C、D均為賦值運(yùn)算符。
29.C!窘馕觥勘绢}考查線程的基本操作。Java中提供了interrupt方法用來中斷一個線程,當(dāng)調(diào)用一個線程的interrupt方法時,即向該線程發(fā)送一個中斷請求。在調(diào)用線程的interrupt方法時,如果該線程由于調(diào)用了sleep方法或wait方法而正在處于阻塞狀態(tài),那么線程會拋出一個InterruptException異常。
30.C!窘馕觥勘绢}考查System類的基本知識。Systern類是一個final類,所有的方法都用類變量來調(diào)用,對System類不可能實例化。System類主要用來提供標(biāo)準(zhǔn)輸入/輸出和系統(tǒng)環(huán)境信息的訪問設(shè)置。而System類的屬性有:①public static final InputStream in;標(biāo)準(zhǔn)輸入;②publicstatic final OutputStream out;標(biāo)準(zhǔn)輸出;③pubhc static finalPrintStream err;標(biāo)準(zhǔn)錯誤輸出。
31.B。【解析】本題考查的是Java增量運(yùn)算符"++"。 x++是先使用后加l,即首先使用X的值進(jìn)行表達(dá)式的計算,然后才對x的值加1。而++x是先加1后使用,即首先對x的值加1,然后使用x的值進(jìn)行表達(dá)式的計算。本題首先生成一個整型變量C,其初始值為5。第一條輸出語句輸出c的初始值,即5。然后,第二條輸出表達(dá)式c++的結(jié)果,即先輸出C的值,然后才對c的值加1,所以,第二條輸出語句輸出的是5,輸出后c的結(jié)果才為6。最后一條輸出語句輸出結(jié)果為6。因此,本題的正確答案為B。
32.D。【解析】本題考查的是Java中的Applet以及Applet與Application的區(qū)別。Applet是能夠嵌入HTML語言中,并能夠在瀏覽器中運(yùn)行的類。Applet的運(yùn)行環(huán)境是Web瀏覽器,所以必須建立HTML文件,告訴瀏覽器如何加載與運(yùn)行Applet。因為Applet是不能直接通過Java命令行啟動運(yùn)行的。所以選項D的說法錯誤。
33.D!窘馕觥勘绢}考查線程的基本知識。線程與進(jìn)程在概念上是相關(guān)的,線程是由表示程序運(yùn)行狀態(tài)的寄存器、程序計數(shù)器、棧指針以及堆棧組成,它不包含進(jìn)程地址空間中的代碼和數(shù)據(jù)。代碼所操作的數(shù)據(jù)是Java線程模型中的一個組成部分,數(shù)據(jù)與代碼是獨立的。數(shù)
據(jù)可以被多個線程共享,也可不共享。Java語言中提供兩種創(chuàng)建線程的方法,一種是通過繼承Thread類創(chuàng)建線程,另一種是通過實現(xiàn)Runnable接口來創(chuàng)建線程。
34.A!窘馕觥刻幚韺ο髠鬏斁褪前褜ο蟠谢ava語言中,如果要串行化某些類的對象,這些類就必須實現(xiàn)Serializable接口。
35.C。【解析】本題考查Java語言的輸入/輸出流。InputStream類、FilelnputStream類和BufferedReader類都是Java語言中和輸入輸出直接相關(guān)的類,不屬于輔助類,因此可以直接判斷出選項C為正確答案。
36.C!窘馕觥縫aint()是與Applet顯示相關(guān)的方法,由它來具體執(zhí)行Applet的繪制功能。init()方法用于初始化Applet,start()方法用于激活A(yù)pplet。在init()方法完成后,將調(diào)用start()方法,而且在Applet每次顯示時都要調(diào)用。destroy()方法用于徹底終止Applet。
37.C!窘馕觥烤程生命周期中出現(xiàn)的狀態(tài)包括:新建狀態(tài)、可運(yùn)行狀態(tài)、運(yùn)行狀態(tài)、阻塞狀態(tài)和終止?fàn)顟B(tài)。
38.C!窘馕觥縭esume()是Thread類提供的用于線程控制的方法;start()是Thread類中的方法,新建的線程不會自動運(yùn)行,必須調(diào)用線程的start()方法才能運(yùn)行該線程;run()是Thread類中的方法,在該方法中定義了線程的具體行為,線程開始執(zhí)行時,就是從它的run()方法開始執(zhí)行的,就像Java應(yīng)用程序從main()開始、Applet從ink()開始一樣;init()不是Thread類中的方法。
39.B!窘馕觥繕(biāo)記的一般格式是:
二、基本操作題
第1處:int a,int b
第2處:maxNum=a
第3處:return maxNum
【解析】第1處定義max()方法中的兩個整型形參;第2處將兩者中較大的賦給maxNum;第3處返回最大值。
三、簡單應(yīng)用題
第1處:choice.getSelectedltem()
第2處:choice.getSelectedIndex()
【解析】第1處是獲取當(dāng)前選中項的數(shù)據(jù);第2處清除選中項的索引號。
四、綜合應(yīng)用題
第1處:int i=0;i 第2處:kb.addKeyListener(new KeyEventHandler())
第3處:system.out.println(evt.getKeyChar())
【解析】第1處是作為遍歷keys中元素的條件,而keys中的字符元素就是各個按鈕對應(yīng)的字符。第2處注冊鍵盤事件監(jiān)聽功能,KeyButton實現(xiàn)了KeyLIstener接口,而kb是KeyButton類的對象,所以它是合格的監(jiān)聽者。第3處將從鍵盤讀到的字符輸出。
【計算機(jī)二級考試JAVA模擬試題庫一答案及解析】相關(guān)文章:
2015年計算機(jī)二級考試JAVA模擬試題庫(二)答案及解析03-03
全國計算機(jī)二級考試Java模擬試題答案及解析03-30
計算機(jī)二級考試Java模擬試題及答案201712-06
2015年計算機(jī)二級考試JAVA模擬試題庫(六)03-05
2015年計算機(jī)二級考試JAVA模擬試題庫(八)03-05
計算機(jī)二級考試JAVA模擬試題03-03
計算機(jī)二級考試Java試題及答案12-04