國家二級(JAVA)機試模擬試卷1_第1頁
國家二級(JAVA)機試模擬試卷1_第2頁
國家二級(JAVA)機試模擬試卷1_第3頁
國家二級(JAVA)機試模擬試卷1_第4頁
國家二級(JAVA)機試模擬試卷1_第5頁
已閱讀5頁,還剩98頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

國家二級(JAVA)機試模擬試卷第1套

一、選擇題(本題共40題,每題1.0分,共40分。)

1、下列程序段的輸出結果是()。intdata=0;chark=宜,p='『;data=p—

k;System.out.printl1n(data);

A、0

B、a

C、f

D、5

標準答案:D

知識點解析:a和f的ASCII值相差5o

2、用鼠標單擊菜單項(Mcnultcm)產生的事件是()。

A、MenuEvent

ActionEvent

C、KeyEvent

D、MouseEvent

標準答案:B

知識點解析:ActionEvent是組件事件,當特定于組件的動作(比如被按下)發生

時,由組件(比如Bullon)生成此高級別事件。事件被傳遞給每一個

ActionLislener對象,這些對象是使用組件的addActionListener方法注冊的,用以

接收這類事件。

3、卜面程序段的輸出結果是()。

publicclassTest(publicstaticvoidmain(Stringargs[]){int口a=newint[l13;int口

p=newint[4];intk=5;for(inti=l;i<=10;i++)a[i]=i;for(inti=lli<=3U++)p[.]一a[i*i];

for(inti=l;i<=3;i++)k=k+p[i]*2;System.Out.println(k);}}

A、37

B、31

C、33

D、35

標準答案:C

知識點解析:本題是對for循環語句和數組的綜合考查。題中共定義了兩個數組:

a□和p[],共用了3次for循環1第1個for語句對數組a[i]賦值;第2個for-語句對

數組p[i]賦值I第3個for.語句計算k的值。3次循環分別得到:5,15和33。正確

答案為選項C。

4、能夠用于創建可變字符串對象的類是()。

A^StringBuffer

VariantString

C、StringCharacte

D、StringLong

標準答案:A

知識點解析:StringBuffer能提供長度可變字符串對象的表示。

5、在軟件開發中,需求分析階段產生的主要文檔是()。

A、軟件集成測試計劃

B、軟件詳細設計說明書

C、用戶手冊

D、軟件需求規格說明書

標準答案:D

知識點解析?:需求分析階段只能產生需求分析規格說明數,A測試說明書是軟件測

試階段生成的,B軟件詳細設計說明書是設計階段生成的,C用戶手冊是軟件發布

時隨軟件一同交付給用戶的。

6、Object類中的方法publicinthashCode口,在其子類中覆蓋該方法時,其方法

修飾符可以是()。

A、protected

public

C、private

D、缺省

標準答案:B

知識點解析:所有的類都是Object的子類,如果要覆蓋Object的equals方法則必

須覆蓋hasCode方法,覆蓋時的屬性是public。

7、下列包中,包含JOptionPane類的是()。

A、javax.swing

B、java,lang

C、java,util

D、java,applet

標準答案:A

知識點解析:Swing中提供了jOptionPane類來實現類似Windows平臺下的

MessageBox的功能.利用JOption-Pane!類中的各個sialic方法來生成各種標準的對

話框,實現顯示出信息、提出問題、警告、用戶輸入參數等功能,且這些對話框都

是模式對話框。

8、層次型、網狀型和關系型數據庫劃分原則是()。

A、記錄長度

B、文件的大小

C、聯系的復雜程度

D、數據之間的聯系方式

標準答案:D

知識點解析:層次型、網狀型和關系型數據庫劃分的原則是數據之間的聯系方式。

9、用下列4種排序方法,對一個已排好序(由小到大)的序列進行由小到大排序

時,選擇()方法最好。

A、冒泡排序

B、直接選擇排序

C、直接插入排序

D、歸并排序

標準答案:C

知識點解析:直接插入排序的基本算法是:當插入第i(i>=l)個對象時,前面的

V|0],V[l]……V[i—1]已經排好序,這時.用V[i]的關鍵碼與V[i—1],[i—

2]…的關鍵碼順序進行比較,找到插入位置即將V[i]插入,原來位置上的對象則向

后移。由此可知.直接插入排序法的關鍵碼比較次數與對象的初始排列有關。在本

題中,序列已經排好序,所以其i的取值達到了最大。也就是序列中元素的個數。

其實根本無需比較和交疾,所以這種方法是最佳的。

10、下列敘述中正確的是()。

A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的

B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構

C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構

D、上述三種說法都不對

標準答案:B

知識點解析:與順序存儲結構相比.線性表的鏈式存儲結構需要更多的空間存儲指

針域,因此。線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構。

11、下面描述中。不屬于軟件危機表現的是()。

A、軟件過程不規范

B、軟件開發生產率低

C、軟件質量難以控制

D、軟件成本不斷提高

標準答案:A

知識點解析:①對軟件開發的進度和費用估計不準確:②用戶對已完成的軟件系

統不滿意的現象時常發生;③軟件產品的質量往往靠不住;④軟件常常是不可維

護的:⑤軟件通常沒有適當的文檔I⑥軟件成本在計算機系統總成本中所占的比例

逐年上升;⑦軟件開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入

的趨勢。

12、面向對象方法中,繼承是指()。

A、一組對象所具有的相似性質

B、一個對象具有另一個對象的性質

C、各對象之間的共同性質

D、類之間共享屬性和操作的機制

標準答案:D

知識點解析:繼承;在程序設計中。繼承是指子類自動享用父類的屬性和方法,并

可以增加新的屬性和方法的一種機制。它是實現代碼共享的重要手段。可以使軟件

更具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,也是面向對象

的主要優點之一。繼承又分為單重繼承和多重繼承.單重繼承是指子類只能繼承一

個父類的屬性和操作;而多重繼承是指子類可以繼承了多個父類的屬性和操作。

Java是一種單重繼承語言.而C++是一種多重繼承語言。

關系R和s得到關系T的操作是()。

A、自然連接

B、交

C、投影

D、并

標準答案:A

知識點解析:自然連接是將表中具有相同名稱的列自動進行記錄匹配。

14、如果人棧序列為CEDB,以下哪一個是從棧中刪除元素的序列?()

A、BED

B、BDE

C、BEDC

D、BDEC

標準答案:D

知識點解析:根據棧的先進后出原則,可知從棧中刪除的元素的序列為BDEC。

15、對于循環隊列,下列敘述中正確的是()。

A、隊頭指針是固定不變的

B、隊頭指針一定大于隊尾指針

C、隊頭指針一定小于隊尾指針

D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針

標準答案:D

知識點解析:循環隊列是把隊列的頭和尾在邏輯上連接起來,構成一個環。循環隊

列中首尾相連,分不清頭和尾,此時需要兩個指示器分別指向頭部和尾部。插入

就在尾部指示器的指示位置處插入,刪除就在頭部指示器的指示位置刪除。

16、閱讀卜列程序:PublicclassTestimplementsRunnable{Privateintx=0;

Privateinty=o;booleanflag=true;Publicstaticvoidmain(stringL]args)

{Testr=newTest();Theadtl=newThcad(r);Theadt2=newThead

(r);11.start();t2.start();}Publicvoidrun(){While(flag){x

++;y++;system.out.println("("+x_","4-y4-")");if

(x>=10)flag=false;}}}下列對程序運行結果描述的選項中,正確的是

()O

A、每行的(x,y)中,可能有后勺;每一對(x,y)值都出現兩次

B、每行的(x,y)中,可能有xry;每一對(x,y)值僅出現一次

C、每行的(x,y)中,可能有x=y;每一對(x,y)值都出現兩次

D、每行的(x,y)中,可能有x=y;每一對(x,y)值都出現一次

標準答案:B

知識點解析:本題考查的是線程的知識,變量XY是在線程外部定義的,所以每一

對(X,Y)只出現一次。

17、要向Applet傳遞參數。應該在下列drawing,html文件的下面線處填入的選項

是()。〈/applet〉

A、

B、

C、

D、

標準答案:D

知識點解析:param中name屬性值不可重復,value是絕對路徑,必須都用引號引

用起來.

18、代碼System.out.println(066)的輸出結果是()。

A、12

B、36

C、54

D、66

標準答案:C

知識點解析:066代表8進制數據的66等于十進制的54。

19、下列描述中正確的是()。

A、軟件工程只是解決軟件項目的管理問題

B、軟件工程主要解決軟件產品的生產率問題

C、軟件工程的主要思想是強調在軟件開發過程中需要應用工程化原則

D、軟件工程只是解決軟件開發過程中的技術問題

標準答案:c

知識點露析:軟件工程是指將工程化的思想應用于軟件的開發、應用和維護的過

程,包括軟件開發技術和軟件工程管理。

20、閱讀卜列程序publicclassVariableUse{publicstaticvoidmain(String[]

args){inta;if(a==8){intb=9;System.out.println(Ma="4-

a):System.out.println("b=11+b);}System.out.println(Ha

="+a);System.out.println("b=u+b);}}該程涼在編譯時的結

果是()。

A、變量a木賦值

B、第二個System,out.println("b=n+b)語句中,變量b作用域有錯

C、第二個System.ou(.println("a="+a)語句中,變量a作用域有錯

D、第一個System.out.println(”b="+b)語句中,變量b作用域有錯

標準答案:B

知識點解析:局部變量b是在if(a==8){}里定義的,作用域也只在這個if語

句范圍內,第二個System.out.println("b="+b)語句中,變量b超出了

作用域。

21,下列不是InputStream子類的是()▽

A、文件輸入流FilelnputStream

B、對象輸入流ObjectlnpulSlream

C>字符輸入流ChaHnputStream

D、壓縮文件輸入流ZiplnputStream

標準答案:C

知識點解析:本題考查考生對Javfl中Inputstream非字符輸入流的掌握。所有的字

節輸入流都是從InputStrcam繼承的。包括:ByteArrayinputStrcam,以字節數組作

為輸入流}FileinputStream,可對一個磁盤文件設計的數據進行處

理;PipcdlnputStream,實現線程之間通信的一個類:Filter—TnputStream.過濾器輸

A&iSequencelnputStreani.將多個輸入流首尾相接;ObjectlnputStream,實現

Objectinput接口。選項D中壓縮文件輸入流ZiplnputStream是Inflater-InputStream

的子類,而InflaterlnputStream是Fiherlnput一Stream的子類,只有選項C中字符輸

入流CharlnputStream類是字符流。本題涉及內容較多,要求對整個輸入輸出沈有

所了解。

22、下列代碼中,將引起編譯錯誤的行是()。

1)publicclassExercise{2}publicstaticvoidmain(Stringargs|]){3)floatf=0.0;

4)f+=l.0;5)|6))

A、第2行

B、第3行

C、第4行

D、第6行

標準答案:B

知識點解析:本題考查Java中的數據類型,應該掌握Java中的簡單數據類型.以

及相關運算。floalf=0.0這個語句,想要定義一個浮點型變量f,并且初值為

0.0,但由于Java認為如果數字后沒有任何字母,則默認為double類型,而

double是不能轉換為floal的,所以該語句錯誤,如果改為floatf=0.Of,即可正確

、—/—

運仃。

23、該代碼的運行結果是()。

A、編譯時將產生錯誤

B、編譯時正確,運行時將產生錯誤

C、9俞出零

D、輸出空

標準答案:C

知識點解析:arr[]為整型數組,分配地址后默認值為0,所以創建數組時也是對

每個數組元素賦初值0o

24、開發軟件時對提高開發人員工作效率至關重要的是()。

A、操作系統的資源管理功能

B、先進的軟件開發工具和環境

C、程序員的數量

D、計算機的并行處理能力

標準答案:B

知識點解析:先進的軟件開發工具和環境對提高開發人員工作效率是至關重要的。

25、下列敘述中正確的是()。

A、在面向對象的程序設計中,各個時象之間具有密切的關系

B、在面向對象的程序設計中,各個對象都是公用的

C、在面向對象的程序設計中.各個對象之間相對獨立相互依賴性小

D、上述3種說法都不對

標準答案:C

知識點解析:面向對象的程序設計是用對象模擬問題領域中的實體.各對象之間相

對獨立.相互依賴性小.通過消息來實現對象之間的相互聯系。

26、下列關于構造方法的敘述中,錯誤的是()。

A、Java語言規定構造方法名與類名必須相同

B、Java語言規定構造方法沒有返回值,但不用void聲明

C、Java語言規定構造方法不可以重載

D、Java語青規定構造方法只能通過new自動調用

標準答案:C

知識點解析?:本題考查的是構造方法的使用。Java語言中,構造方法是一種特殊的

方法.是為對象初始化操作編寫的方法,用它來定義對象的初始狀態。Java中的每

個類都有構造方法,它也是由方法名、參數和方法體組成的。構造方法有如下特

點:.構造方法的名字必須與類名相同。.構造方法不返回任何數據,但不用void來

聲明。.用戶不能直接調用構造方法,必須通過關鍵字new自動調用。.構造方法可

由用戶在類中定義,耿認時由Java語言自動生成。但它是個空方法,變量被賦予

該數據類型的默認值。.在構造方法實現中.可以進行方法重載,即定義多個構造

方法。重載構造方法的目的是使類具有不同的初始值,為類對象的初始化提供方

便。根據上述構造方法的特點可知,本題選項C的說法是錯誤的。

27、下碼程序從標準輸入設備--鍵盤讀入一個字符,然后輸出到屏幕。要想完成此

功能,畫線處應該填入的語句為()oimportjava,io.大;publicclassTest

{publicstaticvoidmain(Stringargs[]){charch;try{;Syste

m.out.pnntln(ch);}catch(lOExccptione){e.printStack1race

O;}}}

A、ch=System.in.read();

B、ch=(char)System.in.read();

C、ch=(char)System.in.readln();

D^ch=(int)System.in.read();

標準答案:B

知識點解析:此題程序通過調用系統的標準輸入流Sysiem.in的read()方法,

從鍵盤讀入一個字符,由于read()方法的返回值是int類型,而變量ch是字符

類型,不能直接轉換,囚此需要進行強制類型轉換,應該填入的正確語句是ch—

(char)System.In.read()。

28、有下列二叉樹,對此二叉樹進行后序遍歷的結果為()。

A、ACBEDGFH

B、GDBHEFCA

C、HGFEDCBA

D、ABCDEFGH

標準答案:B

知識點解析:對二叉樹的后序遍歷是指:先訪問左子樹,然后訪問右子樹,最后訪

問根結點,并且在訪問其左、右子樹時先訪問其左、右子樹,最后訪問根結點。

29、Java語言中所有的簡單數據類型都被包含在()中。

A^java,sql

B、java,awt

C、java.lang

D、java,math

標準答案:C

知識點解析:Java語言中,所有的簡單數據類型都被包含在包java,lang中。

30、以下各選項中能正確聲明一個表示50個值為null的字符串數組的是()。

A、string[]a;

B、stringa[];

C^chara[50][];

D、stringa[]=newString[50]

標準答案:D

知識點解析:本題考查對字符串數組變量聲明的掌握。在Java語言中,type

arrayName[]和type[]arrayName的效果一樣,都表示聲明一個數組。所以選

項A和選項B的效果是一樣的,對于本題來說都是不正確的,因為它們沒有指明

數組所包含的元素的個數;選項C是一個二維的字符數組,Java語言跟C語言不

一樣,在C語言中,一個二維的字符數組就可以表示一個一維的字符串數組。而

在Java中,字符char是基本數據類型,字符串siring則是以對象的形式來表示

的。所以,chara[]口并不等價于stringa□。而且,C選項并沒有指明數組

的長度;選項D正確地聲明了一個長度為50的空字符串數組。

31、下列程序的運行結果是()oPublicclasssun{Publicstaticvoidmain(Stri

ngargs[]){intx=4,y=0;if(Math.pow(x,2)==16)y=x;if

(Math.pow(x,2)<15)y=1/x;if(Math.pow(x,2)>15)y=(i

nt)Math.pow(x,2;+1;system.out.println(y);}}

A、4

B、17

C、18

D、0.25

標準答案:B

知識點解析:本題是考查對if—else分支結構和幾個標準函數的理解。pow(x,

y)方法是x的y次累,程序中pow(x,2)滿足第1個if語句和第3個if語句,

條件變量y將被賦值兩次,但對于同一個變量來說,只能存儲最后一個所賦的值。

32、下述關于數據庫系統的敘述中,正確的是(人

A、數據庫系統減少了數據冗余

B、數據庫系統避免了一切冗余

C、數據庫系統中數據的一致性是指數據類型一致

D、數據庫系統比文件系統能管理更多的數據

標準答案:A

知識點解析:數據庫系統會減少數據冗余,但不可能避免所有冗余。

33、t為int類型,進入下面的循環之前,t的值為0。則下列說法中正確的是

()owhile(t=1){...}

A、循環控制表達式的值為0

B、循環控制表達式的值為1

C、循環控制表達式不合法

D、以上說法都不對

標準答案:B

知識點解析:本題考查對while循環及邏輯表達式的理解。循環控制表達式為賦值

表達式1=1,永遠為1(為真)。

34>下面程序段的輸出結果為()。publicclassTest{publicstaticvoidmain

(Stringargs[]){booleana,b,c;a=(3<5);b=(a==true);

System.out.println(Ha="+a+"b="+b);c=(b==false);Syste

m.out.println("b="+b+"c="+c);}}

A、a=trueb=falseb=truec=true

a=trueb=falseb=truec=false

C、a=trueb=trueb=truec=false

D、a=falseb=falseb=truec=false

標準答案:C

知識點解析:本題考查關系運算符〈和==。題目中a=(3<5);比較3和5的

大小,因為3<5,返回true給a;b=(a==true);判斷a是否為真,因為a確

實為真,返回true給b;c=(b==false);判斷b是否為假,因為b不為假,

返回false給Co最后結果a=true,b=true,b=true,c=false,選項C正確。

35、下列與其他選項不相等的是()。

A、15

B、OxF

C、15

D、OXF

標準答案:C

知識點解析:本題考查Java語言中的進制換算。考生首先要清楚各種進制的表示

方法,整型常量有3種書寫格式:十進制整數,如156,-230.345;八進制整

數:以0開頭.如012表示十進制的10;十六進制整數:以Ox或OX開頭,如

0X123表示十進制數291。選項A是十進制的15,選項B和選項D都是十六進制

中的F相當于十進制的15.選項C為八進制,以。開頭,此處015相當于十進制

的13,與其他選項不同。

36、能夠支持javadoc命令的注釋語句是()。

/

B、/*...*/

C、//

D、/**...*/

標準答案:D

知識點解析:本題考查Java中的注釋語句。注釋是程序設計的重要組成部分,應

熟練掌握。Java中有三類注釋語句:文檔注釋/**...*/,被javadoc處理,可以

建立類的一個外部說明性交件,所以本題正確答案是選項D;C語言注釋風格/

用于去掉當前不再使用但仍想保留的代碼等;單行注釋//,格式上耍求

注釋符//后必須緊跟一個空格,然后才是注釋信息。

37、下面程序的正確輸出是()。publicclassHello{publicstaticvoidmain(Stringargs[])

{intcount,xPos=25;for(count=l;count<=10;coiint++){if(count==5)Break;

system,out.println(count);xPos+=10;}}}

A、1234

B、134

C、編譯錯誤

D、以上都不正確

標準答案:A

知識點解析:該程序經過編譯、運行后,在屏幕上顯示:1234。publicclass}tcHo中

Hello為類名,publicstalicvoidmain(stringargs[])有關參數的解釋如下:public表示該

方法可以被任意代碼所調用.包括Java解釋器;static告訴編譯器,main。方法是一

個類方法,可以通過類名直接調用,調用時不需要該類的實例對象Ivoid表示

main()方法沒有返回值,這是非常重要的,因為Java類型檢查非常嚴格.包括檢查

這些方法返回值的類型是否與聲明的一致;Stringargs口聲明一個字符串類型的數

組,它是命令行傳遞給main()方法的參數.參數在命令行中出現在類名稱后面。包

含main。方法的類(}lelk)為包含main。方法的類名)名稱必-須與其文件名相同,也

就是說.其文件名必須為}lello.java。經過編譯,在當前文件夾下將出現一

個}lello.class文件.這就是編譯后的字節碼文件。在程序段最后有兩個大括

號.分別說明結束main。方法和}{ello類。在本程序中由于有counl==5這個條件判

斷,因此當count—=5時,程序結束,輸出為1234。

38、在Java中,負責對字節代碼解釋執行的是()。

A、垃圾回收器

B、虛擬機

C、編譯器

D、多線程機制

標準答案:B

知識點解析;本題考查Java語言的虛擬機。Java語言的執行模式是半編譯半解釋

型。Java編寫好的程序首先由編譯器轉換為標準字節代碼,然后由Java虛擬機去

解釋執行。字節代碼是一種二進制文件,但不能直接在操作系統上運行,可看做虛

擬機的機器碼。虛擬機的字節碼程序與各操作系統和硬件分開,使Java程序獨立

于平臺。Java中的虛擬機是非常重要的概念,是Java語言的基礎,掌握后有助于

理解Java語言的實現。

39、下列說法中,不屬于數據模型所描述的內容是()。

A、數據結構

B、數據操作

C、數據查詢

D、數據約束

標準答案:C

知識點解析:數據模型所描述的內容包括三個部分,它們是數據結構、數據操作和

數據約束。其中,數據結構主要描述數據的類型、內容、性質及數據庫的聯系

等;數據操作主要是描述在相應數據結構上的操作類型與操作方式;數據約束主

要描述數據結構內數據間的語法和語義聯系,它們之間的制約與依存關系,以及

數據的動態變化的規則,用以保證數據的正確、有效與相容。

40、下列描述中,不是線性表順序存儲結構特征的是()。

A、不便于插入和刪除

B、需要連續的存儲空間

C、可隨機訪問

D、需另外開辟空間來保存元素之間的關系

標準答案:B

知識點解析:本題考查Java中數據類型的取值范隹。應該掌握常用的數據類型的

取值范圍,char類型在內存中占16位,取值范圍是0?65535也就是0?2的16次

方減1?選項B正確。

二、基本操作題(本題共[題,每題1.0分,共/分。)

41、本題的功能是計算二維數組各個元素的和。程序中定義了二維數組arr,arr有

3行4列共12個元素.程序中采用for循環語句的嵌套來計算數組中各個元素的

和。并將結果保存在sum變量中,最后打印輸出結果。

publicclassjaval{publicstaticvoidmain(String[]args){intarr|][]-41.2.3,4}。

{5.6.7.8},{9.10.11,12)}Lintsum=01inti=0,j=0;for(i=0;)fon)

;System,out.println(“sum。"+sum)}}

標準答案:第1處:i<3Ii++或iv—2Ii++第2處:j=01j<4Ij++或j=OIjv—3Ij++第3

處;sum=sum+arr[i][j]

知識點解析:第1處、第2處是由該數組是3行4列的數組而得出的遍歷數組的循

環條件;第3處是將數組元素累加并將最終累加結果賦給sumo

三、簡單應用題(本題共,題,每題1.0分,共I分。)

42、本題是設計一個窗體.窗口的背景色為系統桌面的顏色,在窗1Z1中分別畫了

空心和實心的黑色矩形、深灰色圓角矩形和淺灰色橢圓形.并且畫了白色粗體的

“Java二級考試!”字符串。Importjava.awt.*:Importjavax.swing.*;

Publicclassjava2{Publicstaticvoidmain(string[]args){Fi11frameframe=newfillfra>

me();Frame.setdefaultcloseoperation(jframe,exit_on_close);

Frame.show();)}Classfillframeextendsjframe{Publicfillframe(){Settitle("simple");

Setsize(width,height);Fillpanelpanel=newfillpanel();

Panel.setbackground(systemcolor.desktop);Containercontentpane=getcontentpane();

Contentpane,add(panel);}Publicstaticfinalintwidth=400;

Publicstaticfinalintwidth=250;}Classfillpanelextendsjpanel

{Publicvoidpaintcomponent(graphicsg){;g.setcolor(newcolor(10,10.10));

g.drawreet(10,10.100,30);g.setcolor(newcolor(100.100,100));

g.drawroundrect(150,10,100.30,15,15);g.selcolor(newcolor(150,

150.150));g.drawoval(280.10,80,30);g.setcolor(newcolor(10,10,10));

g.fillreet(10>110,100,30);g.setcolor(newcolor(100,100,100));

g.drawroundrect(150.110.100,30,15.15);g.selcolor(newcolor(150,

150.150));g.filloval(280,110,80,30);g.setcolor(color.white);

fbntf=newfont(“宋體—,20);g.setfont(f);g.drawstring("java二級考試!”,

150,200);})

標準答案:第1處:super.paintComponent(g);第2處:Font.BOLD

知識點解析:第1處是通過super語句調用父類的構造方法paintComponcnt(g)。第

2處是通過字體對象的構造函數,設置Java二級考試!”格式.題目要求是粗體,

所以大Font.BOLDo

四、綜合應用題(本題共I題,每題1.0分,共I分。)

43、本題的功能是定義自己的組件類。窗口中排布著12個按鈕,鼠標移動按鈕

時,按鈕背景顏色改變,用鼠標單擊按鈕時,后臺將顯示該按鈕對應的字符。

importjflva.awt.*;importjava.awt.event.*;importjava.util.*;

classjava3extendsFrame{Stringkeys="123456789*0#";jave3(){super。java3");

addWindowI.istener(newWindowAdapter()(pubIicvoidwindowClosing(WindowEvent

e){System.exit(O);)));setLayout(newGridI.ayout(4,3,6,6));

for(inti=0;iSyatem.out.println(evt.getChat());})

publicstaticvoidmain(String[]args){newjava3()1})

ClassKcyButtoncxtcndsComponcnt{Kcyl,istcncrkcyListcncr;boolcanhighlightcd;

charkey;KeyButton(chark){this.key=k;

addMouseListener(newMouseEventHandler());)

publicvoidpaint(Graphicsg){intW=gctSize().width;inth=gctSizc().height;

Strings='"'+kcy!FontMctricsfin=g.getFontMetrics();

if(highlighted){g.setColor(getBackground());g.filIR0undRect(0,0,w—1,h

-1,10,10);}g.setColor(getFOreground());g.drawRoundRect(0.0,w-I。h

—1,10.10);g.drawString(s,(w—fm.stringWidth(s))12.(h—fm.getHeight())

/2十fm.getAscent());)

classMouseEventHandlerextendsMouseAdapter{publicvoidmouserPressed(MouseEvent

evt);if(keyListcncr!=null)(keyListener.kcyTypcd(FlcwKeyEfent(KeyButton.this,

KeyEvent.KEY—TYPE@D@System.currentTimeMillis()oO,

KeyEvent.VK—UNDEFINED,key));))

publicvoidmouseEntered(MouseEventevl){highlighted=true;repaint();}public:

voidmouscExitcd(MouscEvcntcvt){highlightcd=falsc;rcpaint();}}

publicsynchronizedvoidaddKeyListener(KeyLis一

tenerl){keylListener=AWTEventMuhicaster.add(key-Listener,1);)

publicsynchronizedvoidremoveKeyListener(Key一

Listened){kcyListcncr=AWTEvcntMulticastcr.remove(kcyListcncr,!);))

標準答案:第1處:inli=0;i

知識點解析:第1處是作為遍歷keys中元素的條件.而keys中的字符元素就是各

個按鈕對應的字符;第2處注冊鍵盤事件監聽功能.KeyButton實現了KeyLlslener

接口,而kb是KeyButton類的對象,所以它是合格的監聽者;第3處將從鍵盤讀

到的字符輸出。

國家二級(JAVA)機試模擬試卷第2套

一、選擇題(本題共40題,每題1.0分,共40分。)

1、下列選項中,不是一個算法的基本特征的是()。

A、完整性

B、可行性

C、有窮性

D、擁有足夠的情報

標準答案:A

知識點解析:算法具有可行性、確定性、有窮性和擁有足夠的情報四個基本特征.

2、下列數據結構中,能用二分法進行查找的是()。

A、順序存儲的有序線性表

B、線性鏈表

C、二叉鏈表

D、有序線性鏈表

標準答案:A

知識點解析:二分法查找只適用于順序存儲的有序線性表,對于順序存儲的非有序

線性表和線性鏈表,都只能采用順序查找。

3、最常用的一種基本數據模型是關系數據模型,它的表示應采用()。

A、樹

B、網絡

C、圖

D、二維表

標準答案:D

知識點解析:關系數據模型是屬于數據庫的一種最重要的數據模型,在關系數據模

型中.實體及實體問的聯系都用二維表來表示。

4、下列敘述中,錯誤的是()。

A、內部類的名稱與定義它的類的名稱可以相同

B、內部類可用abstract修飾

C、內部類可作為其他類的成員

D、內部類可訪問它所在類的成員

標準答案:A

知識點解析:內部類與外部類的名稱不能相同。

5、下列Java語句從指定網址讀取hlml文件,在下畫線處應填上的選項是()。

Readerin=new(newURL(urlString).openStream());

A、Reader

B、DataOutputStream

C^ByteArrayInputStream

D、InputStrcamRcadcr

標準答案:A

知識點解析:創建一個Reader流的對象in。

6、下列不屬于表達式語句的是()。

A、++i;

B、——j:

C、b#a;

D、b*=a;

標準答案:C

知識點解析:前兩項是芻加減運算,最后一項是b=b*a。

7、在程序的下畫線處應填入的選項是()。publicclassTest{public

staticvoidmain(Stringargs[]){Testt=newTest();Threadtt=new

Thread(t);tt.start();}publicvoidrun(){for(inti=0;i<5;i+

+){System.out.println("i="+i);}}}

A、implementsRunnable

B、extendsThread

C^implementsThread

D、extendsRunnable

標準答案:A

知識點解析:Test類實現了Runnable接口。

8、語句"Hello".equals("hello"):的正確執行結果是()。

A、true

B、false

C、0

D、1

標準答案:B

知識點解析:Java是強類型檢查語言,字符串的equals方法執行的返回值是true

或者falseo

9、下列程序段的輸出結果是()。intdata=O;chark=,a,.P=T;data=P—k;

System,out.println(data);

A、0

B、a

C、f

D、5

標準答案:D

知識點解析:a和f的ASCH值相差5。

1。、下列代碼中的內部類名是()。1mportjava.awt.event.*;1叩oct

javax.swing.大;classTaikingClock(publicvoidstart(intinterval,final

booleanbeep){ActionListenerlistener=newActionListener(){publicvoid

actionPerformed(ActionEventevent){...}}Timert=newTimer(i

nterval,listener);t.start();}}

A、Timer

B、ActionListener

C、listener

D、匿名

標準答案:B

知識點解析:內部類就是在類內部重新定義的新類,該類能連接外部類,但是不能

和外部類進行通信。ActionListenser有自己的類方法體,而Timer沒有,只是實例

化了一個Timer對象。

11、下列不屬于邏輯運算符的是()。

A、!

B、II

C、&&

D、I

標準答案:D

知識點解析:!是邏輯非,II是邏輯或,&.&.是邏輯與,I是按位或。

12、在HTML文件的標志中作為可選屬性的是()。

A、Applet主類的文件名

B、Applet顯示區域的寬度

C、Applet主類的路徑

D、Applel顯示區域的高度

標準答案:C

知識點解析:中可使用夏了標志.其中的CODEBASE標志(指定URL地址),如果

HTML不指定,瀏覽器使用和HTML文件相同的URL,所以答案選擇C。

13、下列特點中不屬于Java的是()。

A、多線程

B、多繼承

C、跨平臺

D、動態性

標準答案:B

知識點解析:Java不支持多重繼承(子類只能有一個父類)。

14、下列可以獲得構件前景色的方法是()。

A、getsize()

B、getForeground()

C^getBackground()

D、paint()

標準答案:D

知識點解析:A是獲得控件大小,B是獲得構件的前景色,C是獲得構件的背景

色,D是繼承Applet的子類需要實現的方法。

15、下列程序的運行結果是()。publicclasstest{privateString[]data={"

10","10.5"};publicvoidfun(){doubles=0;for(inti=0;i<3;i

++){try{s=s+Integer.parselnt(data[i]);catch(Exceptione)

{System.out.print(nerror1:"+data[i]);}}}publicstaticvoid

main(string[]args){try{testd=newtest();d.fun();}catch

(Exceptione){System.out.println("error2")}}}

A、error1:10.5

error2

C、errorI:10.5error2

D、以上都不對

標準答案:C

知識點解析:try-catch塊是可以嵌套分層的,并且通過異常對象的數據類型進行

匹配,以找到正確的ca【chblock異常錯誤處理代碼。以下是通過異常對象的數據

類型進行匹配找到F確的catchblock的過程.①首先在拋出異常的try-catch塊

中查找catchblock,按順序先與第一個catchblock塊匹配,如果拋出的異常對象

的數據類型與catchblock中傳入的異常對象的臨時變量(就是catch語句后面參

數)的數據類型完全相同,或是它的子類型對象,則匹配成功,進入catchblock

中執行,否則到第②步;②如果有兩個或更多的catchblock,則繼續查找匹配第

二個、第三個,乃至最后一個catchblock,如匹配成功,則進入對應的calchblock

中執行,否則到第③步:③返回到上一級的try—catch塊中,按規則繼續查找對

應的catchblock。如果找到,進入對應的catchblock中執行,否則到第4步;④

再到上上級的try-catch塊中,如此不斷遞歸,直到匹配到頂級的try—catch塊中

的最后一個catchblock,如果找到,進入到對應的catchblock中執行;否則程序

將會執行terminate()退出。所以選C。

16、下列程序中.若從鍵盤中輸入的是大寫字母@C@則翟序輸出的結果是()。

Importjava.io.*;pubIicclassExam{publicstaticvoidmain(Stringargs[]){inteh=0;

System.out.println("輸入一個字符:");try{ch=System.in.read();charch一

A='A'ch—Z='Z';intdelta=c=(int)ch一A+(int)ch—Z~~ch;System.OUt.println(^^

編碼后的字符為:"+(char)deltac);}

catch(IOExceptionc){e.printStackTrace();})}

A、C

B、Y

C、X

D、字母c的ASCII碼的整型值

標準答案:C

知識點解析:本題考查考生閱讀Java程序的能力。當使用h=Systcm.in.read。語

句從鍵盤讀入大寫字母C賦給ch.此時ch值為67,也就是字母C的ASCH值。

語句(int)ch—A+(int)ch—Z—ch結果為88.ASCII碼中的88相當于字母X,所以輸

出為X,選項C正確。

17、一個棧的初始狀態為空,首先將元素5,4,3,2,1依次入棧,然后退棧一

次,再將元素A,B,C,D依次入棧,之后將所有元素全部退棧,則所有元素退

棧(包括中間退棧的元素)的順序為()。

A、54321ABCD

B、5ABCD4321

C、DCBA12345

D、1DCBA2345

標準答案:D

知識點解析:棧是限制僅在表的一端進行插入和刪除的運算的線性表,通常稱插

入、刪除的這一端為棧頂,另一端稱為棧底。

18、為使Java程序獨立于平臺,Java虛擬機把字節碼與各個操作系統及硬件()。

A、分開

B、結合

C、聯系

D、融合

標準答案:A

知識點解析:只有分開,才能做到獨立于平臺,與硬件無關。

19、Class類的對象由()自動生成,隱藏在.class文件中,它在運行時為用戶提

供信息。

A、Java編譯器

B、Java解釋器

C、Javanew關鍵字

D、Java類分解器

標準答案:A

知識點解析:.class文件是由編譯器生成的。

20、為了提高軟件模塊的獨立性.模塊之間最好是()。

A、控制耦合

B、公共耦合

C、內容耦合

D、高內聚低耦合

標準答案:D

知識點解析:耦合性與內聚性是模塊獨立性的兩個定性標準,一般的程序設計都會

盡量做到高內聚、低耦合,有利于提高模塊的獨立性。

21、數據獨立性是數據庫技術的重要特點之一。所謂數據獨立性是指()。

A、數據與程序獨立存放

B、不同的數據被存放在不同的文件中

C、不同的數據只能被對應的應用程序所使用

D、以上三種說法都不對

標準答案:D

知識點解析?:數據獨立性是數據庫系統的一個最重要的目標之一,它使數據能獨立

于應用程序。數據獨立性包括數據的物理獨立性和邏輯獨立性。物理獨立性是指用

戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。即數據在磁盤上怎樣

存儲由DBMS管理,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結

構,這樣當數據的物理存儲改變了,應用程序不用改變。邏輯獨立性是指用戶的應

用程序與數據庫的邏輯結構是相互獨立的,即當數據的邏輯結構改變時,用戶程序

也可以不變。

22、下列運算符中,優先級最高的是()。

A、++

B、+

C、*

D、>

標準答案:A

知識點解析:在這些運算符中++運算符優先級最高。

23、在方法內部使用,代表對當前對象自身引用的關鍵字是()。

A^super

B、This

C、Super

D^this

標準答案:D

知識點解析:super關鍵字為實現對父類變量的訪問和對父類方法的調用。對當前

對象自身的引用應使用this關鍵字。

24、當檢索一個壓縮文件時.首先要建立壓縮文件輸入流對象,該對象()。

A、以選中的壓縮文件為參數

B、以FilelnputStream對象為參數

C、以InpulStreamReader對象為參數

D、以BurferedRcader對象為參數

標準答案:B

知識點解析:本題考查壓縮文件流的概念。當輸入一個ZIP文件時要將ZIP文件作

為FilelnputStream構造方法的參數,所以選項B正確。而FilelnpulStream對象又作

為ZiplnputSIrcam構造方法的參數出現。這里的Zipinput-Stream對象在將壓縮文

件內的輸入項作為字符文本讀出時即作為InputStreamReader的構造方法參數出

現。最后,In一putStreamReader對象作為BufferedReader的構造方法的參數,并且

使用rcadLine。方法將壓縮文件輸入項作為文本讀出。

25、Java中的線程模型由三部分組成,與線程模型組無關的是()。

A、虛擬的CPU

B、程序代碼

C、操作系統的內核狀態

D、數據

標準答案:c

知識點解析:Java中線程模型包含三部分,①一個虛擬的CPU;②該CPU執行

的代碼:③代碼所操作的數據。

26、閱讀卜列代碼段。classTestimplemeritsRunnable{publicintrun(){inti

=0;while(true)(i++;System.out.println("i="+i);}}}

上述代碼的編譯結果是()。

A、程序通過編譯并且run()方法可以正常輸出遞增的i值

B、程序通過編譯,調用run()方法將不顯示任何輸出

C、程序不能通過編譯,因為while的循環控制條件不能為“true”

D、程序不能通過編譯,因為run()方法的返回值類型不是void

標準答案:D

知識點解析:while的循環控制條件可以為true,run()方法沒有返回值.所以不

能是int型,故此程序不能通過編譯。

27、關系數據庫管理系統能實現的專門關系運算包括()。

A、排序、索引、統計

B、選擇、投影、連接

C、關聯、更新、排序

D、顯示、打印、制表

標準答案:B

知識點解析:關系數據庫管理系統能實現的專門關系運算包括選擇、投影、連接。

28、下列關于Java語言中線程的敘述中,正確的是()。

A、線程由代碼、數據、內核狀態和一組寄存器組成

B、線程間的數據是不共享的

C、用戶只能通過創建Thread類的實例或者定義和創建Thread子類的實例.建立

和控制自己的線程

D、因多線程并發執行而引起的執行順序的不確定性可能造成執行結果的不確定

標準答案:D

知識點解析:本題考查線程的基本知識。線程與進程在概念上是相關的,線程是由

表示程序運行狀態的寄存器、程序計數瑞、棧指針以及堆棧組成。它不包含進程地

址空間中的代碼和數據。代碼所操作的數據是Java線程模型中的一個組成部分,

數據與代碼是獨立的。數據可以被多個線程共享,也可不共享。Java語言中提供兩

種創建線程的方法.一種是通過繼承Thread類創建線程,另一種是通過實現

Runnable接口來創建線程。

29、下列表達式中正確的是()。

A、5++

B、(a+b)++

C、++(a+b)

D、++x

標準答案:D

知識點解析:本題考查Java中的運算符。“++”和“一一”都是一元算術運算符,

主要用于自加和自減,在Java中不允許對表達式進行這樣的運算,選項B和選項

C都是錯誤的,更不允許對數字進行這樣的運算,先項A也錯誤,只有選項D正

確。

30、類Panel默認的布局管理器是()。

A、GridLayout

B、BorderLayout

C、FlowLayout

D、CardLayout

標準答案:C

知識點解析:本題考查Java中的布局管理器。FlowLayout是Pane和Applet默認的

布局管理器,構件在容器中從上到下、從左到右進行放置,所以選項C為正確答

案。BorderLayout是Window、Frame和Dialog的默認布局管理器,在

BorderLayout布局管理器中構件分成5個區域,每個區域只能放置一個構件。

GridLayou[使容器中各個構件呈網狀布局,平均占據容器的空間。GardLayout把容

器分成許多層,每層只能放置一個構件。

31、下列特征中不是面向對象方法的主要特征的是()。

A、多態性

B、繼承

C、封裝性

D、模塊化

標準答案:D

知識點解析:模塊化是結構化程序設計的特點。面向對象設計方法使用現實世界的

概念抽象地思考問題從而自然地解決問題。他的特點包括:分類性、封裝性、模塊

獨立性、繼承和多態性等。

32、設R是一個2元關系,S是一個3元關系,則下列運算中正確的是()。

A、R-S

RxS

C、RAS

D、RUS

標準答案:B

知識點解析:關系的交(m、并(u)和差(一)運算要求兩個關系是同元的,

顯然作為二元的R和三元s只能做笛卡兒積運算。

33、Swing的選項面板是()。

A、JTabbedPane

JLayeredPane

C、JScrollPane

D、JSplitPane

標準答案:A

知識點解析:本題考查Swing的容器面板。在Swing的容器面板中:選項板

(JTabbedPane)提供一組可供用戶選擇的帶有標簽或圈標的選項,每個選項下面都可

以顯示一個構件ISwing提供兩種分層面板;JLayeredPane和兒)esk—topPaneo

JDesktopPane是JLayeredPane的子類,專門為容納內部框架(JIntemalFrame)而設計;

滾動窗口(JScroll—Pane]是帶滾動條的面板,主要是通過移動JViewpo*視口)來實

現的1分隔板(JSplitPane)用于分隔兩個構件,這兩個構件可以按照水平方向分

隅.也可以按照垂直方向分隔。根據上述介紹可知,Swing中的選項面板是

JTabbedPaneo因此,本題的正確答案是A。

34>下列程序的輸出結果是()opublicclassArrayTest(publicstaticvoidmain

(Stringargs[]){int[]intArray=newint[3]for(inti=0;i<3;i+

+){intArray[i]=i+2;system.out.println("IntArray["+i

4-"]"=intArray[i]);}System.out.println("--------------------------

—");intanLen=4;IntArray=newint[arrLen];For(intj=int

Array.length;j>=0;j-----){intArray[j]=j*3;system.out.println

("hello"+intArrayEj]);}}}

A、編譯未通過

B、編譯通過,但運行錯誤

C、可以運行,但有錯誤

D、以上都不對

標準答案:B

知識點解析:這是一道考查數組引用的題,目的是考查如何在程序中引用初始化后

的數組。引用的方式為arrayName[index],其中index為數組的下標,可以為

整數、變量和表達式,范圍從0開始,一直到數組的長度減1。在Java語言中,是

要對數組下標進行檢查的。因此,當程序運行到數組的長度值時,就發生了越界現

象。

35、執行下列程序時,會產生什么異常()。publicclassTest{publicstaticvoid

main(Stringargs[]:{intd=101;intb=220;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論