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

下載本文檔

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

文檔簡介

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

一、基本操作題(本題共[題,每題7.0分,共[分0)

1、下列程序打包到example包,main方法調用線程類輸出0?9這10個數,清填

寫橫線處的內容。注意:請勿改動main()主方法和其他已有語句內容,僅在橫線

處填入適當語句。interfaceMylntcrfacc{publicabstractvoidprint(intn);)

classMythreadextendsThreadMylnterface(publicvoidrun(){for(inti=0;i

<10;i++)this.print(i);}publicvoidprint(intn){System.out.print(n+"");}}public

classExampleI_6{publicstaticvoidmain(Stringargv[]){Mythreadth=new

Mythread();))

標準答案:(T)packageexample;?implements(3)th.start();

知識點解析:Mylnterface是自定義的一個接口,Mylhread繼承于Thread類同時實

現了Mylnterfaceo主方法先根據Mythread生成一個線程,然后將其啟動。第1個

空,題目中已經說明要將本程序打包到example包,則說明要使用關鍵字

“package”。第2個空,接口是抽象方法和常量的結合,是一種特殊的抽象類,接

口必須通過“implements”實現以后才能被使用。所有線程都通過start。啟動,送入

線程調度隊列。然后,系統會根據一定的算法對線程的運行進行調度,run()方法是

線程的線程體。故第3空應該填"th.starlO”。

二、簡單應用題(本題共[題,每題7.0分,共7分。)

2、請完成下列Java程序:用JFrame建立一個窗口,再用網格布局管理器,對窗

口布局進行控制,上面有2行2列4個按鈕,要求對按鈕的大小進行設定,寬度為

150,高度為80。注意:請勿改動main。主方法和其他已有語句內容,僅在下劃線

處填入適當的語句。importjava.awt.*importjava.awt.event.*importjavax,swing.

*publicclassex2_l{publicstaticvoidmain(String[]args){JFramefrm=new

JFrame.()frm.setTitle(Mex2_l")Containercont=frm.getContentPane();cont.

add(newJButton("buttonln))cont.add(newJButton("button2"))Dimensiondimen=

;JButtonbtnl=newJButton("button3")btnLsetpreferredSize(dimen);cont.

add(btnl);cont.add(ncwJButton("button4"));frm.addWindowListcncr(new

WindowAdapter(){publicvoidwindowClosing(WindowEventwe){System.

exit(O))});frm.pack()frm.setVisible(true);}}

標準答案:cont.setLayout(newGridLayout(2,2))newDimension。50,80)

知識點解析:本題主要考查網格布局管理器(GridLayout)在使用swing制作圖形用

戶界面時的一些簡單應用。解題關鍵是熟悉GridLayoul的使用方法,初始化的方

法是通過容器Container的對象調用setLayout。方法實現的,而它的一些特點,如

并不會保持當初組件所定義的大小等,也需要很熟悉。本題中,第1個空,將容器

通過網格布局管理器設置為2行2列;第2個空,采用初始化Dimension類的對象

來給出Button組件的初始大小:參數分別是寬度和高度。

三、綜合應用題(本題共[題,每題1.0分,共7分。)

3、下面是一個Applet程序,程序的功能是用鼠標點擊畫圖。本題是通過點擊鼠標

后畫出一個“Java”字。請改正程序中的錯誤(有下劃線的語句),使程序能輸出正確

的結果。注意:不改動程序的結構,不得增行或減行。imporljava.awt.*import

java.awt.event.*;importjava.applet.*/*<appletcode=SimpleHitMouse.javawidth=

800hcight=400></applet>*/publicclassSimpleHitMouseimplements

Applet{privatejava.util.Vectorpoints=newjava.util.Vcctor();publicvoidinit()

{addMouseListener(newMouseAdapter(){publicvoidmousePressed(MouseEvente)

(points,add(newPoint(e.gelX(),e.getY()));paim();)});}publicvoid

update(Graphicsg){repaint(g);)publicvoidpaint(Graphicsg){for(inti=0;i<points,

size();i++){Pointdot=(Point)points.elementAt(i);g.drawString(,,x",dot.x,dot,y),)}

publicstaticvoidmain(Stringargs[]){Framefram=ncwFrame("CclayTrcc");

SimpleHitMousedot二newSimpleHitMouse。;dot.init();dot.start();fram.

add("Center",dot)fram.setSize(400,300);fram.addWindowListener(new

WindowAdapter(){publicvoidwindowClosing(WindowEvente){System.

exit(O);}));fram.show()}}exl_2,html:<html><head><title>ASimple

program</title></head><body><叩pletcode="SimpleHitMouse,class”

width=800height=400></applet></body></html>

標準答案:extendsrepaint()paint(g)

知識點解析:本題主要考查JavaApplet程序的編寫、Java程序事件處理機制。編

寫Applet小程序必須耍用到java.appelt包中的Applet類,

java.applet.Appletjava.awt.Panel的子類。在Applet中,Applet的顯示更新是

由一個專門的AWT線程控制的。與Applet顯示相關的3個方法:(l)paint()方法。

Applet的painl()方法具體執行Applet的繪制。該方法的定義如下:publicvoid

paint(Graphicsg),paint。方法有一個參數g是Graphics類的實例,該實例對象由瀏

覽器生成,它包含了Applet的圖形上下文信息,通過它向Applet中顯示信息,該

對象相當于Applet的畫選。(2)update()方法。該方法的定義而下:publicvoid

update(Graphicsg),update。方法用于更新Applet的顯示。該方法將首先清除背

景,再調用paint()方法完成applet的具體繪葡。(3)repainl()方法。repaint。方法的定

義如下:publicvoidrepaint(),該方法主要用「Applet的重新顯示,它調用update。

方法實現對Applet的更新。在本題中,extends關鍵字用于繼承父類,repaint。,

paint。方法都用于Applet的重新顯示。

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

一、基本操作題(本題共1題,每題1.0分,共7分0)

1、下列程序中,給出兩個整數2和3,分別求2除以3和2乘以3的結果,要求

調用類cxl9_l的方法method。來輸出相應的結果,請將程序補充完整。程序運行

結果如下。0.66666666666666666源程序文件代碼清單如下:publicclassexl91

{publicstaticvoidmain(Stringargs[]){intnl=2,n2=3;ex19_lobj19_1=newex19_l();

objl9_l.)publicvoidmethod(intx,inty){System.out.println();

System.out.println();}}

標準答案:method(n1,n2)(double)x/yx*y

知識點解析:本題主要考查Java語言的數據類型和結構以及不同數據類型之間的

轉換,和對象調用方法以及基本的運算操作。解題關鍵是熟悉Java語言的基本數

據類型和類型之間的轉爽,用類的對象來調用方法,以及熟悉Java語言的基本運

算。在本題中,第1空通過類exl9」的對象objl9」調用類ex19_l的方法

method(),將變量nl和n2作為參數傳遞給方法。第2空由于x、y都是int型,則

x/y的結果為0.666...,這會轉換為int型,其值為0。所以要對數據進行類型轉

換,將x轉換為double型則y也轉換為double型,因此結果為double型,值為

0.666...o第3空無須做類型轉換,直接輸出x*y的值6即可。

二、簡單應用題(本題共1題,每題1.0分,共1分0)

2^請完成下列Java程序:建立一個Applet程序,包括創建一個畫布構件、一個面

板構件,面板構件上包含3個按鈕,用來設置畫布和面板的背景顏色,這3個按鈕

(Red、Green.Blue)分別控制畫布和面板背景色改變為3原色,即紅、綠、藍c要

求畫布寬度為300,高度為200。注意:請勿改動main。主方法和其他已有語句內

容,僅在下劃線處填入適當的語句。源程序文件代碼清單如下:importjava.awt.*;

importjava.applet.*;/*<appletcode=Mex10_2.classHwidth=800height=400><

/applet>*/publicclassex1()_2extendsApplet{privatePanelpanel10_2;private

Canvascanvas10_2;privateButtonbtnl,btn2,btn3;publicvoidinit()

{canvas10_2=newCanvas();canvas10_2.;

canvas10_2.sctBackground(Color.black);add(canvas10_2);pane110_2=newPanel;);

panel10_2.setBackgroiind(Color.black);btnl=newButton("Red");btn2=new

Button("Green");btn3=newButlon("Blue");panel10_2.add(btnl);

panelIO_2.add(btn2);panel10_2.add(btn3);;}publicbooleanaction(Evente,

Objecto){if(e.target==btnl){panel10_2.setBackground(Color.red);

canvas10_2.setBackground(Color.red);}elseif(e.target==btn2)

{panel10_2.setBackground(Color.green);canvas10_2.setBackground(Color.green);}

elseif(e.target==btn3){canvas10_2.sctBackground(Color.blue);

panelIO_2.setBackground(Color.blue);)returntrue;})

標準答橐:resize(300,200)add(panel10_2)

知識點解析:本題主要考查畫布構件、面板構件和按鈕構件的使用,以及Applet

程序中的事件處理。解題關鍵是熟悉上述幾種構件的創建和使用,能在Applel窗

口中控制構件的布局,同時還要熟悉Java的事件處理機制。本題中,第1個空,

數是代表矩形的寬度,第4個是高度;第2個空,第1個Checkbox不用填充,這

里bStyle二false是表示用填充;第3個空,和第2個空正好相反。

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

一、基本操作題(本題共I題,每題i.o分,共J分0)

1、下面的程序是用do_whilc語句計算10的階乘。請在程序的每條橫線處填寫一

個語句,使程序的功能完整。注意:請勿改動main。主方法和其他已有的語句內

容,僅在橫線處填入適當的語句。publicclassDoWhileLoop{publicstaticvoid

main(){intn=10;longresult=l;do{}

System.out.println("10的階乘為:"+result);))

標準答案:Stringargs[]result*=n—;while(n>=l);

知識點解析:本題主要考查main。主方法的使用、while循環語句的用法。解答本

題的關鍵是熟練掌握main。主方法的使用、while循環語句的用法。在本題中,

Stringarg、口的作用是聲明字符數組args,-:語句的作用是獲得n的階乘

并賦值給變量resulto

二、簡單應用題(本題共I題,每題1.0分,共/分C)

2、請完成下列Java程序:程序的功能演示了如何通過實現Runnable接口創建線

程對象,程序中定義了一個類B,類中重寫了含一個字符串參數的構造方法,并實

現了Runnable接口,即在類B中編寫了接口中的nm()方法的方法體。還定義了一

個應用程序類ex35_2,其中創建類B的3個對象bl,b2和b3作為線程對象H,t2

和13的參數,并啟動這3個線程。注意:請勿改列inainO主方法和其他已有語句

內容,僅在下劃線處填入適當的語句。程序運行結果如下:

publicclassex35_2{publicstatic

voidmain(Stringargs[]){Runnablebl=newB("First");Runnableb2=newB("Second");

Runnableb3=newB("Third");Threadtl=newThread(bl);Threadt2=newThread(b2);

Threadt3=newThread(b3);11.start();t2.start();t3.start();|)classB

Runnable(Strings;publicB(Stringstr){s=str;}

{for(inti=l;i<3;i++){System.out.printin(s+”運行!)try

{Thread.sleep((int)(Malh.random()*100));}catch(InterruptedExceptione)

{e.printStackTrace();}}System.cut.println(s+"結束!");|)

標準答案:implementspublicvoidrun()

知識點解析:本題主要考查Java中有關線程的基本操作。解題關鍵是要熟練掌握

有關線程的基本知識。在Java中創建線程有兩種基本方法:(1)是通過實現

Runnable接口創建線程。(2)通過繼承Thread類創建線程。第I個空,應該填

implements關鍵字,其功能是實現Runnable接口。第2個空,應該填publicvoid

run(),其功能是重寫run()方法。

三、綜合應用題(本題共[題,每題1.0分,共/分。)

3、下面是一個Applet程序,其功能是輸出已定義好的兩個變量x和chr。請改正

程序中的錯誤(有下劃線的語句),使用序能輸出正確的結果。注意:不改動程序的

<appletCode="ex34_3.class"width=800height=400></applet>*/publicclass

ex34_3implementsApplet{intx=10;charchr='R';Labeloutput1;Labeloutput2;

privatevoidinit(){outputI二newLabel("定義int類型變量"+"x,的初值為"+x);

output?=newLabel("定義char類型變量"+"chr,的初值為"+chr);add(outputl);

add(output2);}}ex34_3,html<HTML><HEAD><TITLE>ex34_3</TITLE>

</HEAD><BODY><appletcode=^,ex34_3.class^,widthMOOheight=400><

/applet></BODY></HTML>

標準答案:importjava.applet.Applet;publicclassex34_3extendsAppletpublic

voidinit()

知識點解析:本題主要考查Applet小程序的有關知識。解題關鍵要掌握編寫小程

序的基本知識。第1處,應為importjava.applet.Applet:其功能是導入Applet

類;第2處,應為publicclassex34_3extendsApplet,其功能是聲明繼承Applet類

的ex34_3類;第3處,應為pubficvoidinit(),賓功能是重寫ini【()方法。

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

一、基本操作題(本題共[題,每題7.0分,共[分0)

1、下面的程序是求字符串的長度及每一個位置上的字符。請在每條橫線處填寫一

條語句,使程序的功能完整。注意;請勿改動main。主方法和其他已有的語句內

容,僅在橫線處填入適當的語句。publicclassCharAtOpfpublicstaticvoid

main(Stringargs[]){Stringstr="abcdef;intsize=System.oul.println("字符串str的長

度為:"+size);for(intm=0:m++)(

Systcm.out.println("str中的第"+m+”個字符是:"+c);}))

標準答案:str.length();m<size;charc=str.charAt(m);

知識點解析:本題主要考查對String數據的操作的基本知識、for循環語句的基本

知識。解答本題的關鍵是熟練掌握對String數據的操作的基本知識、for循環語句

的基本知識。在本題中,inisize=s【r,leng【h();語句的功能是獲得字符串對象sir的

長度,for(intm=0;m<size;m++)語句中的mVsize;是for循環語句的判斷部

分,charc=str,charAt(m);語句的功能是獲得字符串中指定位置的字符。

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

2、請完成下列Java程序。程序的功能是利用迭代法求一個數的平方根(求平方根

的迭代公式為:Xn+l=l/2(Xn+a/Xn))o注意:請勿改動main。主方法和其他已有

的語句內容,僅在下劃線處填入適當的語句。publicclassPingFangGen{public

staticvoidmain(Stringargs[]){System.out.println(Math.sqrt(2.0));}staticdouble

sqrt()(doublex=1.0;do{)

while(Math.abs(x*x-a)/a>le-6);returnx;)}

標準答案:doubleax=(x+a/x);

知識點解析:本題主要考查do--while循環語句及Java的基本運算。解答本題需要

對"doiwhile循環語句的用法熟練。do-while循環又稱“直到型”循環,它的一般格

式為:[初始化部分]do{循環體部分:迭代部分:}while(判斷部分);說明如下:

(l)do-while結構首先執行循環體,然后計算終止條件,若結果為true,則循環執行

大括號中的語句或代碼塊,直到布爾表達式的結果為false。(2)與while結構不同的

是,do—while結構的循環至少被執行一次,這是“直到型”循環的特點。在本題

中,doublea語句是定義一個double型變量a,x=(x+a/x);語句的功能是迭代求出

被開平方的變量。

三、綜合應用題(本題共1題,每題7.0分,共1分。)

3、下面是一個Apple(程序,程序的功能是在Applet顯示區內畫一個動態的、多維

的綠色橢圓環。本題主要是通過數學方法sin(),cos()畫出一個圓環。請改正程序

中的錯誤(有下劃線的語句),使程序能輸出正確的結果。注意:不改動程序的結

構,不得增行或刪行。程序的執行結果:

R—IWI

A_逆一:f

'■^fim->I一,'-'』,importjava.awt.*;import

java.awt.event.*;importjava.applet.*;publicclassYuanHuanextendsApplet{public

voidpaint(Graphicsg){doublew=getSize().width/2;doubleh=getSize().height/2;

g.getColor(Color.green);for(doubleth=O:th<10:lh+=0.000()3)(double

r=Math.cos(16*th)+th;doublex=r*Math.cos(th)+w;doubley=r*Math.sin(th)+h;

g.drawOval((int)x-1,(int)y-1,3,3);}}publicstaticvoidmain(Stringargs[]){Frame

f=newFrame("Draw");YuanHuanp=newYuanHuan();i();p.start();f.add(p);

f.setSize(400,300);f.addWindowListener(newWindowAdapter(){publicvoid

windowClosing(WindowEvente){System.out.exit(O);)));f.show();}}ex33_3.

html:<html><head><tille>ASimpleProgram</litle></head><body><

appletcode="YuanHuan.class"width=800height=400></applet></body><

/html>

標準答案:g.setColor(Color.green);p.init();System.exit(O);

知識點解析;本題主要考查JavaApplet程序的編寫、for循環語句和Java程序事件

處理機制。解答本題的關鍵是熟練掌握JavaApplet程序的編寫和Java程序事件處

理機制的知識。在本題中,g.setColor(Color.green);語句的功能是設置所畫圖形的

顏色,p.init():語句的功能是初始化小程序Applet,System.exit(O);語句的功能

是關閉窗口,結束小程序的運行。

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

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

1、算法的空間復雜度是指()。

A、算法程序的長度

B、算法程序中的指令條數

C、算法程序所占的存儲空間

D、算法執行過程中所需要的存儲空間

標準答案:D

知識點解析:算法的空間問題態度,是指執行這個算法所需的存儲空間。算法所占

用的存儲空間包括算法程序所占用的空間、輸入的初始數據所占用的存儲空間及算

法執行過程中所需要的額外空間。

2、用鏈表表示線性表的優點是()。

A、便于隨機存取

B、花費的存儲空間較順序存儲少

C、便于插入和刪除操作

D、數據元素的物理順序與邏輯順序相同

標準答案:c

知識點解析:數據結構是相互之間存在一種或多種特定關系的數據元素的集合。”

關系”描述的是數據元素之間的邏輯關系,因此又稱數據的邏輯結構。數據的存儲

結構是指數據結構(數據的邏相結構)在計算機中的表示.又稱物理結構。數據的存

儲結構有順序存儲結構和鏈式存儲結構兩種。不同存儲結構的數據處理效率不同。

由于鏈表采用鏈武存儲結構。元素的物理順序并不連續.對于插入和刪除無需移動

元素.很方便。當查找元素時就需要逐個元素查找.因此查找的時間相對更長。

3、已知一棵二叉樹前序遍歷和中序遍歷分別為ABDE—GCFH和DBGEACHF,則

該二叉樹的后序遍歷為()。

A、GEDHFBCA

B、DGEBHFCA

C、ABCDEFGH

D、ACBFEDHG

標準答案:B

知識點解析:二叉樹的遍歷有3種:前序、中序和后序。后序遍歷首先遍歷左子樹

或左子結點.然后遍歷右子樹或右子結點.最后訪問根結點;中序遍歷首先遍歷左

子樹或左子結點,然后訪問根結點.最后遍歷右子樹或右子結點1后序遍歷首先訪

問根結點,然后遍歷左子樹或左子結點,最后遍歷右子樹或右子結點。本題根據前

序遍歷和中序遍歷的結果可以得出二叉樹的結構,然后再對其進行后序遍歷。因此

答案為選項B。

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

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

B、線性鏈表

C、二叉鏈表

D、有序線性鏈表

標準答案:A

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

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

5、結構化程序設計的3種基本結構是()。

A、過程、子程序和分程序

B、順序、選擇和重復

C、遞歸、堆棧和隊列

D、調用、返回和轉移

標準答案:B

知識點解析:程序的三種基本控制結構包括t順序、選擇和重復(循環),這三種結

構就足以表達出各種其池形武的結構。

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

A、在模塊化程序設計中,一個模塊應該盡量多的包括與其他模塊聯系的信息

B、在自頂向下、逐步細化的設計過程中,首先應設計解決問題的第一個細節

C、在模塊化程序設計中,一個模塊內部的控制結構也要符合結構化原則

D、在程序設計過程中,不能同時采用結構化程序設計方法與模塊化程序設計方法

標準答案:C

知識點解析:在模塊化程序設計中,模塊之間的聯系可以通過程序的控制結構來實

現。在自頂向下、逐步細化的設計過程中,首先要考慮全局目標,而不是細節。在

程序設計中模塊化和結閡化可以同時使用.一個模塊的內部結構也要符合結構化設

計原則。

7、設計軟件結構是在軟件生命周期的()。

A、軟件定義期

B、軟件開發期

C、軟件維護期

D、以上3個都不是

標準答案:B

知識點解析:設計軟件結構,是在軟件概要設計階段進行的,而概要設計屬于軟件

開發期。

8、數據庫技術的根本后標是要解決數據的()。

A、存儲問題

B、共享問題

C、安全問題

D、保護問題

標準答案:B

知識點解析:在數據庫系統中。需要對數據進行集中、統一的管理.,以達到被多個

應用程序共享的目標。

9、設計數據庫的存儲結構屬于()階段。

A、需求分析

B、概念設計

C、邏輯設計

D、物理設計

標準答案:D

知識點解析:物理設計階段主要解決選擇文件存儲結構和確定文件存取的方法的問

題,包括:選擇存儲結溝、確定存取方法、選擇存取路徑、確定數據的存放位置。

10、相對于數據庫系統,文件系統的主要缺陷有數據依賴、數據不一致性和()。

A、可重用性差

B、安全性差

C、非持久性

D、冗余性

標準答案:D

知識點解析:文件系統所管理的數據文件基本上是分散、相互獨立的。因此相對于

數據庫系統.以此為基礎的數據處理存在3個缺點:數據冗余大、數據的不一致

性、程序與數據的相互依賴(簡稱為數據依賴)。

11、如果要求一個線性表既能較快地查找,又能適應動態變化的要求,則可采用的

方法是()。

A、分塊法

B、順序法

C、二分法

D、散列法

標準答案:A

知識點解析:分塊查找是將表分成若干塊.分塊的原則是數據元素的關鍵字在塊與

塊之間是有序的.而塊內元素的關鍵字是無序的。分塊法可以適應動態變化的要

求。其他三種是在順序存儲的一組記錄內進行查找的。

12、順序存儲結構的優點是()。

A、刪除運算方便

B、存儲空間利用率高

C、捅入運算方便

D、可以方便地運用到各種邏輯結構的存儲表中

標準答案:B

知識點解析:順序結構邏輯上相鄰的結點物理上也是相鄰的。因此.其存儲密度

大.存儲空間利用率高,但插入、刪除運算操作不方便.需移動大量的結點.

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

時,選擇()方法最好。

A、冒泡排序

B、直接選擇排序

C、直接插入排序

D、歸并排序

標準答案:C

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

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

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

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

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

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

14、按層次次序將一棵有n個結點的完全二叉樹的所有結點從1?n編號,當運n/

2時,編號為i的結點的左子樹的編號是()。

A、2i-l

B、2i

C、2i+l

D、不確定

標準答案:B

知識點解析:完全二叉樹中除最下面一層外,備層都被結點充滿了,每一層結點個

數恰是上一層結點個數的2倍。因此,從一個結點的編號就可推知它的雙親及左、

右子樹結點的編號。當iSn/2時,編號為i的結點的左子樹的編號是2i,否則結

點i沒有左子樹。當過(n—1)/2時,編號為i的結點的右子樹的編號是2i+L否

則結點i沒有右子樹。當irl時,編號為i的結點的雙親是結點i/2。

15、對于給出的一組權w={10,12.16,21o30).通過霍夫曼算法求出的擴充二

叉樹的帶權外部路徑長度為()。

A、89

B、189

C、200

D、300

標準答案:C

知識點解析:其帶權外部路徑長度為:2x16+2x21+2x30+3x10+3x12=200。

16、JDK中,用()命令對其源文件進行編譯,生成字節碼文件。

A、jflva.exe

B、java

C>cxc.C.javado.c.exe

D、javap.exe

標準答案:R

知識點解析:本題考查JDK實用工具的使用。選項A錯誤,java.cxc是Java語言

解釋器,直接從類文件執行Java應用程序字節代碼,可接受elass文件并啟動Java

虛擬機執行;選項B正確,javae.exe是.Java語言編譯器,將Java源代碼轉換成

字節碼;選項C錯誤,javadoe.exe是根據Java源代碼及說明語句生成HTML,文

檔;選項D錯誤.javap.exe是反匯編器,顯示編譯類文件中的可訪問功能和數

據,同時顯示字節代碼含義。

17、以下敘述中不屬于Java語言特點的是()。

A、面向對象

B、可移植性

C、多線程

D、宏定義

標準答案:D

知識點解析:本題考查Java語言的基本特點。選項A正確.Java最大的特點之一是

跨平臺、面向對象;選項B正確,解釋同A}選項C正確,多線程是Java的一個主

要特性,它使可執行程序具有同時保持幾個線程執行的能力;選項D錯誤,Java

不支持宏定義。

18、在Java語言中,封閉是借助于()實現的。

A、對象

B、類

C、數組

D、成員

標準答案:B

知識點解析:Java是一個完全面向對象的語言。利用類把對象的屬性和方法封裝在

一起,只對外界提供有限的接口。

19、Java對文件類提供了許多操作方法.能獲得文件對象父路徑名的方法是()。

A^getAbsolutePath()

gctParcntFile()

C、getAbsoluteFile()

D、getName()

標準答案:B

知識點解析:本題考查File類的基本知識。File類是通過文件名列表來描述一個文

件對象的屬性,通過File類提供的方法。可以獲得文件的名稱、長度、所有路徑

等信息,還可以改變文,‘牛的名稱、刪除文件等。

20、下列各項中屬于合法標識符的是()。

A、myid/2

B、一bvoid

C、一5

D、vacl

標準答案:D

知識點解析:Java語言的標識符是以字母、下畫線和符號$為首字符的字符串。首

字符后面可以跟字母、下畫線、$和數字,且標識符是區分大小寫的.標識符的字

符數沒有限制。A選項中含有非法符號“/“,故是錯誤的:B選項是以符號“+"開

始的字符串也不符合規則;同理,C選項也是錯誤的。

21、下列各選項中屬于Java保留字的是()。

A、TRUE

B、NULL

C、假

D、null

標準答案:D

知識點解析:在Java中.常量null、false、irue都是小寫的。所以A、B和C選項

中的字符串都不是Java的保留字。

22、下列各項中代表八進制整數的是()。

A、0XA6

B、144

C、1840

D、一1E3

標準答案:B

知識點解析:Java語言中八進制整數為整型常量中的一-種,以。開始,后加數字

0?7組成。故只有B選項0144符合要求。

23、下列代碼的執行結果是()。publicclassTest{publicstaticvoidmain(Stringargs[])

{System.out.println(5/2);System.out.println(100%3.0)}}

A、2和I

B、2和1.0

C、2.5和1

D、2.5和1.0

標準答案:B

知識點解析:由于5和2都是int型,所以語句Sys—tern.oul.println(5/2)的輸

出為2。由于操作數3.0為douh—Ie型(Java語盲中浮點數的默認值為double

型),所以結果為double型,即L0o

24、char類型被封裝在()中。

A、java.lang.Integer

B、java.lang.Char

C、java.lang.Boolean

D、java.lang.Character

標準答案:D

知識點解析:Java語言中,char類型被封裝在java.lang.Character中。

25、下面代碼段的輸出是()。if(58L7)0&&5I2)system.out.println(“true");

A、編譯出錯

B、5752

C、真

D、無任何輸出

標準答案:A

知識點解析:本題考直對位運算符和邏輯運算符的理解。位運算符和”I“用于

按位將兩個數進行與和或的操作,兩個操作數可以是整型、字節型、長整型和短整

型,但不能是浮點型數據。邏輯運算符&&只能對兩個布爾型的數據進行運算。返

回的結果也是布爾型的。

26、下列關于內部類的說法。正確的是()。

A、內部類可以與它包含的類名相同

B、內部類只能使用它所在類的靜態成員變量,不能使用它所在類的方法中的局部

變量

C、內部類可以用abstract修飾定義為抽象類。不能用private或protected定義

D、外部使用內部類時必須給出類的全名

標準答案:D

知識點解析:本題考查內部類的概念。在一個類的內部嵌套定義的類稱為內部類。

它的類名在定義它的類或程序段中或在表達武內部可以匿名使用,外部使用它時必

須給出類的全名.所以選項D說法正確;內部類的類名不允許與它包含的類名相

同,選項A說法錯誤I內部類可以使用它所在類的崢態成員變量和實例成員變量,

也可以使用它所在類的方法中的局部變量,選項B說法錯誤1內部類不僅可以用

abstract修飾定義為抽象類,也可用private或protec-ted定義.選項c說法錯誤。

同時還要注意,內部類可作為其他類的成員,而且可訪問它所在類的成員,除

static內部類外,不能在類中聲明static成員。

27、定義一個表示10個值為null的字符串數組,下面選項正確的是()。

String[]a;

B、Stringa[];

C、chara|10|[];

D^Stringa[]=newString[10];

標準答案:D

知識點解析:本題考查字符串數組變量的聲明。選項A和選項B的效果是一樣

的,都是用來定義一個字符串數組,但沒有指明數組個數。不滿足題目要求;選項

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

的字符串數組,而在.lava中,字符char是基本類型.字符串string則是以對象的

形式來表示的;選項D正確,它定義了一個含有10個元素的字符串數組,如果沒有

給字符串教組賦值,則默認為null。

28、有一個接口定義如下,下列選項中實現了該接口并且不是抽象的是()。

interfaceA{intmethodl(inti);intmethod2(intj);)

A、classBimplcmcntsA

B、classB{{intmethodl(){)intmethodl(inti){)intmethod2()()intmethod2(intj){)})

C、classBimplementsA

D、

classBcxtcndsA{{intinctliodl(inti){)intmcthodl(inti){)intmcthod2(intj){)intmcthod2(intj)

{)})

標準答案:C

知識點解析:本題考查在Java中接口的實現。接口是一種只含有抽象方法或變量

的特殊的抽象類。在類的聲明中用implemenis子句來表示一個類使用某個接匚。

選項A在方法內沒有參數值;選項B只是定義了一個類.并沒有實現與A的接口;

選項C中使用關鍵字implements實現了該接口,這里接口中的方法并沒有使用

abstract所以不是抽象的;選項D中exlends是用來繼承父類的,而A并不是

一個類,不能用extendso

29>下面程序段的輸出結果是()。classBase{inti;Base(){add(l);}voidadd(intv)

{i+=V;}voidprint(){System,out.println(i);))classExtensionextendsBase

{Extension(){add(2);}voidadd(intv){i+=v*21}}publicclassTest

{publicstaticvoidmain(Stringargs[]){bogo(newExtension());}staticvoidbogo(Baseb)

{b.add(8);b.print();)}

A、9

B、18

C>20

D、22

標準答案:D

知識點解析:本題考查繼承和構造函數的用法。首先要明確對一個類的繼承是指在

父類的基礎上構建了一個子類,子類繼承了父類的方法和狀態。題目所給程序段創

建的是Extension類的實例,在運行時,從main。函數進入程序.所有調用add()方

法的過程將始終和Extension類的add()方法動態綁定。初始值:i=0;創建實例

newExlension();先調用父類的默認構造函數.Base(),并在父類的默認構造函數中

執行add(l>i=0+lx2,所以i=2,再調用子類的默認構造函數Extension。,子類的

默認構造函數中執行add(2),i=2+2x2,所以i=6;執行add(8);i=6+8x2.因此,最

終i=22,正確答案為選項D。

30、通常我們使用()方法來為一個部件注冊事件監聽器。

A、addxxxListener

B>xxxLislener

C、Listenerxxx

D、xxxListeneradd

標準答案:A

知識點解析:本題考查事件監聽器的概念。每類事件都有對應的事件監聽器,監聽

器是接口。根據動作來定義方法。AWT的構件類中提供注冊和注銷監聽器的方

法。注冊監聽器:publicvoidadd<;istenerType>(listenero)1注銷監聽器:

publicvoidremove(listener)o由此可見,選項A正確。

31、下列的()原始類型在使用流時可以互換。

A、byte和boolean

B、char和int

C>byte和char

D、String和char

標準答案:B

知識點解析:本題考查Java語言中字節類型的概念。在Java語言中.byle是字節

類型,用1字節表示;boolean是布爾類型,用true和false表示,它們M表示方法

并不一樣。也不提供它們之間的轉換,選項A錯誤。Java內部用整數來表示

char,通常可以在方法調用和其他語句中互換使用char-和int,選項B正確。

charo用2字節表示,byte字節類型用1字節表示,Java內部也不允許互換使用它

們,選項C錯誤。String在Java語言中是一個類,它提供對字符串的一系列操作,

而char是Jflva語言中的一個基本類型,它不是一個類.兩者有本質的區別,故而

它們是不能互換使用的,選項D錯誤。需要注意的是,在Java語言中提供的類都

是以大寫字母開頭,基本類型都用小寫字母表示。

32、下列關于HTML標記的說法。正確的是()。

A、URLgetDocumentBase()返回Applet主類的URL

13、URLgetC3dcBase()返回包含Applet的H1ML文件的URL

C、在HTML中不說明StringgetParameter(stringname)tl'J#S,該方法將返回“0”

D、HTML標記方法用亍獲取HTML文件中關于Ap—plet的信息

標準答案:D

知識點解析:本題考查.Applet中HTML標記方法。URLgelDocumentBase。返回

包含Applet的HTML文件的URL,而不是返回Applet主類的URL,選項A錯

誤。LJRLgclC()dcBase(]返回Applet主類的LIRL,而不是返回包含Applet的

HTML文件的URL選項B借誤。SlringgetParameler(slringname)返回定義在HTML

文件的指定參數.如果指定參數在HT^L中無說明,該方法將返回“nun”,而不

是囚此選項C錯誤。

33、下列關于Applel的說法,正確的是()。

A、它們能讀/寫用戶的文件系統

B、它們能與提供包含小程序的網頁的站點之內的Internet站點聯系

C、它們能在閱讀者的系統上運行任何程序

D、它們能加載存儲在用戶系統上的程序

標準答案:B

知識點解析:本題考查Java小程序(Apple。安全限制的概念。因為Jflva小程序運

行在Web用戶的系統卜.所以對小程序所能完成的T作有一些嚴格的限制.它們

不能讀/寫用戶的文件系統,選項A說法錯誤。它們不能與提供包含小程序的網

頁的站點之外的Internei站點聯系.選項B說法正確。它們不能在閱讀者的系統上

運行任何程序,選項C說法錯誤。它們不能加載存儲在用戶系統上的程序,如可

執行程序和共享庫。所有這些規則適用于運行在瀏覽器下的Javfl小程序,選項D

說法錯誤。

34、resume()方法恢復()的執行。

A、通過調用stop()方法而停止的線程

B、通過調用sleep。方法而停止運行的線程

C、通過調用wait()方法而停止運行的線程

D、通過調用suspend()方法而停止運行的線程

標準答案:D

知識點解析:本題考查resume。方法的使用。在Thread的API文檔中的說明是該

方法恢復被掛起(SUS—pende())的線程。該方法首先調用該線程的無參的check-

Access。方法。這可能在當前線程上拋出SecurilyException異常,如果該線程是活

著的(alive)但被掛起(suspend。),它被恢復并繼續它的執行進程。

35、下列方法中能完成主類實例初始化工作的是(),

A、starl()

B、stop()

C、i血()

D、paint()

標準答案:C

知識點解析:本題考查對Applet必須要重載的幾個方法的理解。選項A錯誤,

start。方法使得程序從初始態進入運行態,當瀏覽器從圖標狀態恢復為窗口時.或

者當用戶離開包含Applet的主頁后又再返回時,系統都會自動再執行一遍start。方

法;選項B錯誤,stop。方法是和start。方法相對應的,當瀏覽器變成圖標或者是

用戶離開Applet所在頁面時,瀏覽器都會調用stop。方法,該方法也是可以被多次

調用的;選項C正確.蘭創建JavaApplet且第一次使用支持.Java的瀏覽器載入該

AppletIbj,就會執行init()方法,通常在這方法中執行一次性的初始化操作;選項

D錯誤,painl()方法是畫圖時必須要重載的方法。

36、下面的()關鍵字通常用來對對象加鎖,從而使得對對象的訪問是排他的.

A^serialize

transient

C、synchronized

D、static

標準答案:C

知識點解析:本題考查,lava中對泉加鎖的概念。Java是多線程的語言,多個線

程可以“同時”訪問同一數據區.而在處理某些數據時不希望其他的線程修改那些數

據的值或者某些操作是不可打斷的。要做到這個,可以使用synchr什nized關鍵字

聲明這一點C

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

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

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

A='A'ch—Z='Z';intdelta=c=(int)ch—A+(int)ch—Z—ch;System.OUt.printing

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

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

A、C

B、Y

C、X

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

標準答案:C

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

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

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

出為X,選項C正確。

38、下面的程序執行后,屏幕上顯示的應是()。

publicclassExam{publicstaticvoidmain(String[]args){charchar1[]={,t\…'

t,};charchar2[]={T,...'e'.'s','t'.StringsI=newString(charl);

Strings2=newString(char2,0.4);System.out.println(sl.equals(s2));}}

A、true

B、假

C、test

D、編譯借誤

標準答案:A

知識點解析:本題考查考生對字符數組的理解。首先可以通過字符數組來生成一個

字符串對象:String(char[]value)String(char[]value?intstartlndex,intnum(;

ha「s),其中,slar-tlndeK指定字符串在數組中的起始下標.hum一Char.s表示字符

個數。然后再測試字符串是否相等,可調用equals。方法,兩個字符串相等則返回

true,否則返回false。題目中si和s2都是”test”,所以最后返回是true。選項A正

確。

39、以下()命令能為遠程對象生成stub和skeletono

A、rmiregistry

B、serialver

C>rmic

D、rmid

標準答案:C

知識點解析:本題考查J2SDK的RMI命令。rmnreg—istry命令是在當前主機的指

定端口上啟動遠程對象注冊服務程序;set。ialver命令是返回serialVersion|JID的

值:rmic:命令為遠程對象生成"uh和skeleton:rmid命令可以激活系統守候進

程,以便能夠在Java虛擬機上注冊和激活對象。

40、Java程序與數據庫的連接機制是()。

A、ODBC

B、JDBC

C、ODBCAPI

D、SQL/CLI

標準答案:B

知識點解析:本題考查Java程序與數據庫的連接。

JDBC(JavaDataBaseConncctivity)是,Java程序與數據庫連接的一種機制。在Java

虛擬機中有個特殊模塊JDBCDriv—erManager,既負責管理針對各種類型數據庫軟

件的JDBC驅動程序,也負責和用戶應用程序交互,

二、基本操作題(本題共1題,每題1.0分,共7分0)

41、本題中定義了一個長度為20的整數數組,然后將1?20分別賦給數組元素,

計算該數組中所有下標為奇數的元素的和。

publicclassjavai{publicstaticvoidmain(Stringargs[]){intsum;------;

intarray;ist[]=newintV20];for(inti=0;i<=191i++)arrayListEi]=i+l;intpos=0;

while(pos<20){i"------)sum=sum+arrayListEpos];------;)

System.out.println("sum="+sum);}}

標準答案:第1處:sum=0第2處:pos%2—二1或pos%2l==0第3處:pos十+或

pos+=l或pos=pos+1

知識點解析:第1處給整型變量sum賦初值;第2處為判斷數組中元素下標為奇數

的條件;第3處是元素下標加1繼續遍歷。

三、簡單應用題(本題共[題,每題7.0分,共[分0)

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

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

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

Publicclassjava2{Publicstaticvoidmain(string|]args){Fi11frameframe=newfi11fra

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

Frame.show();}}Classfillframccxtcndsjframe{Publicfillframc(){Settitle(MsimpleM);

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

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

Contcntpanc.add(pancl);}Publicstaticfinalintwidth=400;

Publicstaticfinalintwidth=250;}Classfillpanclcxtcndsjpanel

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

g.drawreet(IO,10.100.30);g.setcolor(newcolor(100.100.10()));

g.drawroundrect(150?10

溫馨提示

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

評論

0/150

提交評論