JAVA 語言程序設(shè)計(jì)復(fù)習(xí)題_第1頁
JAVA 語言程序設(shè)計(jì)復(fù)習(xí)題_第2頁
JAVA 語言程序設(shè)計(jì)復(fù)習(xí)題_第3頁
JAVA 語言程序設(shè)計(jì)復(fù)習(xí)題_第4頁
JAVA 語言程序設(shè)計(jì)復(fù)習(xí)題_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

JAVA復(fù)習(xí)題

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案1(應(yīng)考

必備題庫)

一、單選擇題

1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文

件的擴(kuò)展名為(

B)0

A.javaB..class

C.htmlD..exe

2、設(shè)則表達(dá)式的值是()。

x=l/y=2,z=3,y+=z------/++xA

A.3B.3.5

C.4D.5

3、不允許作為類及類成員的訪問控制符的是(C)o

A.publicB.private

C.staticD.protected

4、為AB類的一個(gè)無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類

名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)o

A.staticvoidmethod))B.publicvoidmethod()

C.finalvoidmethodf)D.abstractvoidmethod))

二、填空題

1、開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個(gè)主要步驟為編輯源程序、

編譯生成字節(jié)碼和解釋運(yùn)行字節(jié)碼。

2、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個(gè)Unicode碼

用2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占

用2字節(jié)內(nèi)存空間o

3、設(shè)x=2,則表達(dá)式(x++)/3的值是______0。

4、若x=5,y=10,貝!Jx<y和x>=y的邏輯值分別為true和false。

5、抽象(abstract)方法是一種僅有方法頭,沒有具體方法體和操作實(shí)現(xiàn)的

方法,該方法必須在抽象類之中定義。最終酗L(fēng)方法是不能被當(dāng)前類的子類

重新定義的方法。

6、創(chuàng)建一個(gè)名為MyPackage的包的語句是packageMyPackage;,

該語句應(yīng)該放在程序的位置為:應(yīng)該在程序第一句________________o

7、設(shè)有數(shù)組定義:則執(zhí)行

intMylntArray[]={10z20z30z40,50z60z70};

以下幾個(gè)語句后的輸出結(jié)果是120

ints=0;

for(inti=0;i<MylntArray.length;i++)

if(i%2==1)

s+=MylntArray[i];

System.out.println(s);

8、在Java程序中,通過類的定義只能實(shí)現(xiàn)」重繼承,但通過接口的定義可

以實(shí)現(xiàn)多一重繼承關(guān)系。

三、寫出下面程序的運(yùn)行結(jié)果

1、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{

ABs=newAB("Hello!";,lloveJAVA.");

System.out.println(s.toString());

)

)

classAB{

Stringsi;

Strings2;

publicAB(Stringstrl,Stringstr2)

{

si=strl;

s2=str2;

)

publicStringtoString()

{

returnsl+s2;

}

)

運(yùn)行結(jié)果:Hello!IloveJAVA.

2、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

)

}

運(yùn)行結(jié)果:s=180

3、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

(

System.out.println("a="+a+"\nb="+b);

)

}

classSubClassextendsSuperclass

{intc;

SubClass(intaa,intbb,intcc)

(

super(aa,bb);

c=cc;

}

)

classSubSubClassextendsSubClass

{inta;

SubSubClass(intaazintbb,intcc)

{super(aazbb,cc);

A=aa+bb+cc;

)

voidshow()

{

System.out.println("a="+a+l,\nb="+b+"\nc="+c);

運(yùn)行結(jié)果:a=60

b=20

c=30

OAVA語言程序設(shè)計(jì)》期末考試試題及答案2(應(yīng)考

必備題庫)

一.判斷題

1.Java的源代碼中定義幾個(gè)類,編譯結(jié)果就生成幾個(gè)以.class為后綴的字節(jié)碼文件。(J)

2.Java程序里,創(chuàng)建新的類對(duì)象用關(guān)鍵字new,回收無用的類對(duì)象使用關(guān)鍵字free。(X)

3.Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時(shí)間釋放內(nèi)存對(duì)象(人工可以指定的程序

改變)。(X)

4.構(gòu)造函數(shù)用于創(chuàng)建類的實(shí)例對(duì)象,構(gòu)造函數(shù)名應(yīng)與類名相同,返回類型為void(無返回

類型)。(X)

5.在異常處理中,若try中的代碼可能產(chǎn)生多種異常則可以對(duì)應(yīng)多個(gè)catch語句,若catch

中的參數(shù)類型有父類子類關(guān)系,此時(shí)應(yīng)該將父類放在后面,子類放在前面。(V)

6.擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。(J)

7.Java的屏幕坐標(biāo)是以像素為單位,容器的左下角被確定為坐標(biāo)的起點(diǎn)。(X)

8.靜態(tài)初始化器是在其所屬的類加載內(nèi)存時(shí)由系統(tǒng)自動(dòng)調(diào)用執(zhí)行。(J)

9.在Java中對(duì)象可以賦值,(類,new)只要使用賦值號(hào)(等號(hào))即可,相當(dāng)于生成了一個(gè)

各屬性與賦:值對(duì)象相問的新對(duì)象。

(X)

二.單項(xiàng)選擇題

1.Javaapplication中的主類需包含main方法,以下哪項(xiàng)是main方法的正確形

參?(B)

A、StringargsStringargsIJC>CharargD、StringBuffer

args[]

2.以下關(guān)于繼承的敘述正確的是(A)。

A、在Java中類只允許單一繼承

B、在Java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口

C、在Java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口

D、在Java中接口只充許單一繼承

3.paint()方法使用哪種類型的參數(shù)?(A)

A、GraphicsB、Graphics2DC、StringD、Color

4.以下哪個(gè)不是Java的原始數(shù)據(jù)類型(B)

A、intB、BooleanC、floatD、char

5.以卜.哪項(xiàng)可能包含菜單條(B)o

A、PanelB、FrameC、AppletD、Dialog

6.若需要定義一個(gè)類域或類方法,應(yīng)使用哪種修飾符?(A)

A、staticpackageC、privateD>public

7.在瀏覽器中執(zhí)行applet程序,以下選項(xiàng)中的哪個(gè)方法將被最先執(zhí)行(A)。

A、init()B、start()C>destroyOD^stop()

8.給出下面代碼,關(guān)于該程序以下哪個(gè)說法是正確的?(C)

publicclassPerson!

staticintarr[]=newint[5];

publicstaticvoidmain(Stringa[])

{

System.out.println(arr[0]);}

}

A、編譯時(shí)將產(chǎn)生錯(cuò)誤B、編譯時(shí)正確,運(yùn)行

時(shí)將產(chǎn)生錯(cuò)誤

C、輸出零D、輸出空

9.下列哪些語句關(guān)于Java內(nèi)存回收的說明是正確的?(B)

A、程序員必須創(chuàng)建一個(gè)線程來釋放內(nèi)存

B、內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存

C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存

D、內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象

10.以下哪個(gè)關(guān)鍵字可以用來對(duì)對(duì)象加互斥鎖?(B)

A^transientB、synchronizedC、serializeD

static

11.以下代碼段執(zhí)行后的輸出結(jié)果為(A)

intx=-3;

inty=-10;

System.out.println(y%x);

A、-1B、2C、1D、3

12.有以下程序片段,下列哪個(gè)選項(xiàng)不能插入到行1。(D)

1.

2.publicclassInteresting(

3.//dosth

4J

A、importjava.awl.*;packagemypackage;

C、classOthcrClassf)D、publicclassMyClass{}

13.設(shè)有下面兩個(gè)賦值語句:

a二Integer,parselnt(“12”);

b=Integer.valueOf(a12f,).intValueO;

下述說法正確的是(D)o

A、a是整數(shù)類型變量,b是整數(shù)類對(duì)象。

B、a是整數(shù)類對(duì)象,b是整數(shù)類型變量。

C、a和b都是整數(shù)類對(duì)象并且值相等。

D、a和b都是整數(shù)類型變量并且值相等。

14.FilterOutputStream是BufferedOutputStreamDataOutputStream及Printstream

的父類,以下哪個(gè)類可.能是FilterOutputStream構(gòu)造函數(shù)的參數(shù)類型?A

A、OutputStreamB、File

C、InputStreamD、BufferedOutputStream

15.在編寫JavaApplet程序時(shí),需在程序的開頭寫上(B)語句。

A^importjava.awt.*;B、importjava.applet.Applet;

C、importjava.io.*;D、importjava.awt.Graphics;

16.類Parent、Child定義如下:

1.publicclassParent

2.{publicfloataFun(floata,floatb)throws

3.lOException{}

4.}

5.publicclassChildextendsParent{

6.

7.}

將以下哪種方法插入行6是不合法的。(A)

A、floataFun(fioata,floatb){)

B、publicintaFun(inta,intb)throwsException)}

C、publicfloataFun(floatp,floatq){}

D、publicintaFun(inta,intb)throwslOException{}

17.在使用interface聲明一個(gè)接口時(shí),只可以使用(D)修飾符修飾該接

口。

A^privateB、protectedC、privateprotectedpublic

18、有以下方法的定義,請(qǐng)選擇該方法的返回類型(D

ReturnTypeniethod(bytex,doubley)

(

return(short)x/y*2;

}

byteB、shortC、intD、double

19、關(guān)于以下代碼段的說法正確的是(D)

1.Strings="abcdeM;

2.StringBuffersl=newStringBufferC'abcde");

3.if(s.equals(sl))

4.sl=null;

5.if(sl.equals(s))

6.s=null;

A、第1行編譯錯(cuò)誤,String的構(gòu)造器必須明確調(diào)用

B、第3行編譯錯(cuò)誤,因?yàn)閟與si有不同的類型

C、編譯成功,但執(zhí)行時(shí)在第5行有異常拋出

D、編譯成功,過程中也沒有異常拋出

20、編譯并運(yùn)行以下程序,以下描述哪個(gè)選項(xiàng)是正確的(C)

1.classX{

2.protectiedStringtoString()i{

3.returnsuper.toStringO;}

4.}

A、編譯通過運(yùn)行無異常B、編譯通過但運(yùn)行時(shí)出錯(cuò)

C、行2出錯(cuò),不能成功編譯D、不能成功編譯,行3出錯(cuò)

三.程序閱讀題

1.以下程序的輸出結(jié)果為相等。

classStringTestl

(

publicstaticvoidmain(String[]args)

(

Stringsl="hello";

Strings2=newStringC'hello");

if(sl.equals(s2)){

System.out.println("相等");

}else{

System.out.println("不相等)

}

}

)

2.以下程序段的輸出結(jié)果為56789o

publicclassTestArray

(

publicstaticvoidmain(Stringargs[]){

intiJ;

inta[]={596,8,7};

for(i=0;i<a.lenglh-1;i++){

intk=i;

for(j=i;j<a.length;j++)

if(a[j]<a[k])k=j;

inttemp=alij:

alij=alkj;

a[k]=temp;

}

for(i=0;i<a.length;i++)

System.out.print(a[i]+"");

Systcm.out.println();

)

1

3.寫出以下程序的功能。

importjava.io.*;

publicclassTestFile

(

publicstaticvoidmain(Stringargs[])throwsException

{

BufferedRcaderbr=newBuffercdReadcr(

newInputStreamReader(System.in));

BufferedWriterbw=newBufferedWriter(newFileWriter(t4input.txt"));

Sirings;

while(true)

(

System.out.print("請(qǐng)輸入一個(gè)字符串:");

System.out.flush();

s=br.readLine();

if(s.length()==0)break;

bw.writc(s);

bw.newLine();

)

bw.close();

)

)

功能:從鍵盤逐一輸入字符串,逐一輸出至input.txt文件中,直至輸入空行。

4.閱讀以下程序,寫出輸出結(jié)果。

classAnimal{

Animal(){

System.out.print("Animal");}

)

publicclassDogextendsAnimal{

Dog(){

System.out.print("Dog");)

publicstaticvoidmain(String[]args){

Dogsnoppy=newDog();}

)

輸出結(jié)果:AnimalDog

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案3(應(yīng)考

必備題庫)

一、單項(xiàng)選擇題

1、如下哪個(gè)是Java中的標(biāo)識(shí)符(D)

A、publicB、superC、3numberD、width

2、如下哪個(gè)是Java中的標(biāo)識(shí)符(A)

ANfieldnameB、superC、3numberD^//number

3、已知如下定義:Strings="story";下面哪個(gè)語句不是合法的(C)

A、s+="books";B、s=s+100;

C、intlen=s.length;D、Stringt=s+“abc〃;

4、如下哪個(gè)是Java中有效的關(guān)鍵字(C)

A、nameB、helloC、falseD、good

5、下面的代碼段執(zhí)行之后count的值是什么(D)

intcount=1;

for(inti=1;i<=5;i++){

count+=i;

System.out.printin(count);

A、5B、1C、15D、16

6、定義一個(gè)類,必須使用的關(guān)鍵字是(B)

A、publicB、classC、interfaceD、static

7、定義一個(gè)接口必須使用的關(guān)鍵字是(C)

A、publicB、classC、interfaceD、static

8、如果容器組件p的布局是BorderLayout,則在p的下邊中添加一個(gè)按鈕b,應(yīng)

該使用的語句是(C)

A、p.add(b);B、p.add(b,"North");

C>p.add(b,"South");D、b.add(p/'North");

9、聲明并創(chuàng)建一個(gè)按鈕對(duì)象b,應(yīng)該使用的語句是(A)

A、Buttonb=newButtonf);B、buttonb=newbutton();

C、Buttonb=newb();D、b.setLabel("確定”);

10、Frame對(duì)象默認(rèn)的布局管理器是(B)

A、FlowLayoutB、BorderLayout

C、CardLayoutD、null

11、下列哪一個(gè)import命令可以使我們?cè)诔绦蛑袆?chuàng)建輸入/輸出流對(duì)象(C)

A、importjava.sql.*;B、importjava.util.*;

C、importjava.io.*;D、.*;

12、下面哪一個(gè)import命令可以為我們提供編寫網(wǎng)絡(luò)應(yīng)用程序的類(D)

A、importjava.sql.*;B、importjava.util.*;

C>importjava.io.*;D、.*;

13、如果需要從文件中讀取數(shù)據(jù),則可以在程序中創(chuàng)建哪一個(gè)類的對(duì)象(A)

A、FilelnputStreamB、FileOutputStream

C、DataOutputStreamD^FileWriter

二、填空題

1、如果將類MyClass聲明為public,它的文件名稱必須是(MyClassjava)才能

正常編譯。

2、Java程序中的單行注釋符是(〃),多行注釋符是(/**/)o

、中布爾類型的常量有兩種,它們是和

3Java(true)(false)o

4、Java中用于定義小數(shù)的關(guān)鍵字有兩個(gè):(float)和(double),后者精度高

于前者。

5、Java中用于兩個(gè)數(shù)相等比較的運(yùn)算符是:(==),用于不相等比較的運(yùn)算符是

(<>)o

6、在Java中定義一個(gè)字符串類型的變量str的語句是:(Stringstr;),定義一

個(gè)具有10個(gè)元素的整型數(shù)組a的語句是:(int11arr=new。

7^導(dǎo)入mypackage包中的所類的命令是(importmvpackage.*;)。

8、當(dāng)聲明一個(gè)數(shù)組intarr[]=newint[5];時(shí),這代表這個(gè)數(shù)組所保存的變量類型

是(int),數(shù)組名是(arr),數(shù)組的大小為(5),數(shù)組元素下標(biāo)的使用范圍是(0

到4)。

9、假設(shè)x=13,y=4,則表達(dá)式x%y!=0的值是(true),其數(shù)據(jù)類型是(boolean)。

10、異常處理是由(try)^(catch)和finally塊三個(gè)關(guān)鍵所組成的程序塊。

11、以下程序段的輸出結(jié)果是(三角形)

intx=5,y=6,z=4;

if(x+y>z&&x+z>y&&z+y>x)

System,out.printIn("三角形");

else

System,out.printin("不是三角形”);

12、下面程序段的執(zhí)行結(jié)果是(65432)

inta[]={2,3,4,5,6);

for(inti=a.length-1;i>=0;i--)

System.out.print(a[i]+

三、程序閱讀題

1、以下程序的輸出結(jié)果為—Peteris17yearsold!___。

publicclassPerson{

Stringname;

intage;

publicPerson(Stringname,intage){

=name;

this.age=age;

}

publicstaticvoidmain(String[]args){

Personc=newPerson(''Peter",17);

System,out.printIn(+"is"-c.age+*'yearsold!");

}

)

2、以下程序的輸出結(jié)果為—課程號(hào)課程名:ASP學(xué)分:3_。

publicclassCourse{

privateStringcNumber;

privateStringcName;

privateintcUnit;

publicCourse(Stringnumber,Stringname,intunit){

eNumber=nunber;

cName=name;

cUnit=unit;

}

publicvoidprintcourseinfo(){

System,ouJprintin(“課程號(hào):”+cNumber+”課程名:”+cName+”學(xué)

分:"+cUnit);

}

)

classCourseTest{

publicstaticvoidmain(String[]args){

Coursec;

c=newCourse(,,101u,"ASP”,3);

c.printcourseInfo();

)

}

3、以下程序的輸出結(jié)果為—湯姆貓?bào)w重:20.0斤

publicclassTom{

privatefloatweight;

privatestaticStringname;

publicvoidsetWeight(floatweight){

this.weight=weight;

}

privatevoidout(){

System.out.printIn(name+"彳木重:"+weight+"斤");

}

publicstaticvoidmain(String[]args){

Tom.name="湯姆貓”;

Tomcat=newTom();

cat.setweight(20);

cat.out();

}

)

4、以下程序的輸出結(jié)果_姓名:Tom年齡:15家庭住址:金水區(qū)電話:66123456學(xué)

校:九中

publicclassFather{

Stringname,address,tel;

intage;

publicFather(Stringname,intage){

=name;

this.age=age;

}

voidout(){

System.out.print(“姓名:“+name);

System.out.print(*'年齡:"+age);

}

voidoutOther(){

System,out.print(*'家庭住力E:"+address);

System,out.print(*'電話:”+tel);

)

}

classSonextendsFather{

Stringschool;

publicSon(Stringname,intage){

super(name,age);

)

voidout(){

super.out();

super.outOther();

System.out.printIn("學(xué)校:”+school);

}

publicstaticvoidmain(Stringargs[]){

Sonson=newSon("Tom*',15);

son.address="金水區(qū);

son.school="九中”;

son.tel="66123456”;

son.out();

}

5、下列程序的運(yùn)行結(jié)果是_12345—o

publicclassMyClass{

inta[]={1,2,3,4,5);

voidout(){

for(intj=0;j<a.length;j++)

System.out.print(a[j]+””);

)

publicstaticvoidmain(String[]args){

MyClassmy=newMyClass();

my.out();

)

}

四、簡答題

1、簡述Java中異常處理的機(jī)制?

答:首先Java的異常是面向?qū)ο蟮?。一個(gè)Java的Exception是一個(gè)描述異常情況

的時(shí)象.當(dāng)出現(xiàn)異常情況時(shí),一個(gè)Exception對(duì)象就產(chǎn)生了,并放到異常的成員函數(shù)

里。

Java的異常處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:try,catch,throw,throws和finally。

1.異常處理:在Java語言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finally三個(gè)塊組成。

其中try塊存放將可能發(fā)生異常的Java語言,并管理相關(guān)的異常指胡;catch塊

緊跟在try塊后面,用來激發(fā)被捕獲的異常;finally塊包含清除程序沒有釋放的

資源,句柄等。不管t「y塊中的代碼如何退出,都將執(zhí)行finally塊。

2.拋出異常:Java語言可以不在方法中直接捕獲,而用throw語句將異常拋

給上層的調(diào)用者。Throw語句就是來明確地拋出一個(gè)異常;首先你必需得到一個(gè)

Throwable的實(shí)例句柄,通過參數(shù)傳到catch中,或者采用new操作符來創(chuàng)建一

個(gè)。

2、什么是繼承?

答:通過必要的說明能夠?qū)崿F(xiàn)某個(gè)類無需重新定義就擁有另一個(gè)類的某些屬性和

方法,并把這種關(guān)系稱為繼承,先定義的類稱為父類,后定義的類稱為子類,并

且允許多層的繼承關(guān)系。

3、請(qǐng)簡述重載和重寫的區(qū)別?

答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。

重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading

是一個(gè)類中多態(tài)性的一種表現(xiàn)。

如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重

寫(Oveuiding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而

言,父類中的定義如同被“屏蔽”了。

如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同

的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變

返回值的類型。

五、程序設(shè)計(jì)題

1、按以下要求編寫程序

(1)創(chuàng)建一個(gè)Rectangle類,添加width和height兩個(gè)成員變量

(2)在Rectangle中添加兩種方法分別計(jì)算矩形的周長和面積

(3)編程利用Rectangle輸出一個(gè)矩形的周長和面積

解答:

publicclassRectangle{

floatwidth,height;

publicRectangle(floatwidth,floatheight){

this.width=width;

this.height=height;

}

publicfloatgetLength(){

return(this.width+this.height)*2;

publicfloatgetArea(){

returnthis.width*this.height;

}

publicstaticvoidmain(String[]args){

Rectanglerect=newRectangle(10,20);

System,out.printin("周長是:"+rect.getLength());

System.out.print■工n("面積是:"+rect.getArea());

)

)

2、按以下要求編寫程序

(1)編寫Animal接口,接口中聲明run()方法

(2)定義Bird類和Fish類實(shí)現(xiàn)Animal接口

(3)編寫B(tài)ird類和Fish類的測試程序,并調(diào)用其中的run()方法

解答:

publicinterfaceAnimal{

voidrun();

}

classBirdimplementsAnimal{

publicvoidrun(){

System.out.printIn("鳥兒在飛

}

}

classFishimplementsAnimal{

publicvoidrun(){

System,out.printIn("魚兒在游

}

)

publicclassTestAmmal{

publicstaticvoidmain(String[]args){

Birdbird=newBird();

bird.run();

Fishfish=newFish();

fish.run();

)

)

3、編寫一個(gè)Frame框架應(yīng)用程序,要求如下:

(1)在窗口設(shè)置兩個(gè)菜單〃文件〃、〃編輯〃

(2)在“文件〃菜單里添加三個(gè)菜單項(xiàng)“打開〃、“保存〃、”關(guān)閉〃

(3)在“編輯〃菜單里添加兩個(gè)菜單項(xiàng)〃復(fù)制〃、“粘貼〃

(4)點(diǎn)擊關(guān)閉菜單項(xiàng)時(shí),使程序關(guān)閉。

解答:

importjava.awt.Color;

importjava.awt.Frane;

importjava.awt.Menu;

insertjava.awt.MenuBar;

importjava.awt.Menuitem;

insertjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdaptcr;

importjava.awt.event.WindowEvent;

/*

*主窗體

*/

publicclassMyFrameextendsFrame{

privatestaticfinallongserialVersionUID=68954638956566262ML;

privateframefrmMain;//窗體

MenuBarmb;//菜單欄

MenumnuFile;//”文件”菜單

MenumnuEdit;//”編輯“菜單

MenuitemmiOpen;//“打開”菜單項(xiàng)

MenuitemmiSave;//”保存“菜單項(xiàng)

MenuitemmiClose;//“關(guān)閉”菜單項(xiàng)

MenuitemmiCopy;//”復(fù)制“菜單項(xiàng)

MenuitemmiPaste;//”粘貼“菜單項(xiàng)

publicMyFrame(){

frmMain=newFrame("生窗體,1);

//創(chuàng)建菜單欄

mb=newMenuBar();

//創(chuàng)建菜單

mnuFile=newMenu("文件”);

mnuEdit=newMenu("編輯,');

//創(chuàng)建菜單項(xiàng)

miOpen=newMenu工tem("打開");

miSave=newMenu工tem("保存");

miClose=newMenu工tem("關(guān)閉");

miCopy=newMenu工tem(“復(fù)制,1);

miPaste=newMenu工tem("粘貼”);

}

publicvoidshowFrame(){

frmMain.setSize(800,600);

frmMain.setLocation(100,100);

frmMain.setBackground(Color.white);

frmMain.setVisible(true);

frmMain.setLayout(null);

frmMain.addWLndowListener(newWindowHandler());//注冊(cè)}'窗口監(jiān)”「器

//將菜單欄放入窗體中

frmMain.setMenuBar(mb);

//將菜單放入菜單欄中

mb.add(mnuFiLe);

mb.add(mnuEdit);

//將菜單項(xiàng)放入菜單中

mnuFile.add(niOpen);

mnuFile.add(niSave);

mnuFile.add(niClose);

mnuEdit.add(niCopy);

mnuEdit.add(niPaste);

〃注冊(cè)動(dòng)作事件監(jiān)聽器

miClose.setActionCommand(,,miClose_CLickedH);

miClose.addActionListener(newMenuHandler());

}

//定義一個(gè)內(nèi)部類,在這個(gè)類中編寫窗口關(guān)閉事件處理程序。

privateclassWindowHandlerextendsWindowAdapter{

publicvoidwindowClosing(WindowEvente){

System.exit(0);//退出位.用程序,狀態(tài)碼0衣示正常終止,非0去示異

常終止

)

//定義一個(gè)內(nèi)部類,在這個(gè)類中編寫動(dòng)作事件處理程序。

privateclassMenuHandlerimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand()=="miClose_Clicked,,){

System,exit(0);//退出應(yīng)用程序

}

)

)

}

publicclassTestMyFrame{

publicstaticvoidmain(String[]args){

//啟動(dòng)主窗體

MyFrameguiWmdow=newMyFrame();

guiWindow.shov/Frame();

}

)

《JAVA語言程序設(shè)計(jì)》期末考試試題及答案4(應(yīng)考

必備題庫)

一、單選題

、下列程序段執(zhí)行后的結(jié)果是(

1A)o

Strings=newStringf'abcdefg");

for(inti=0;i<s.length();i+=2){

System.out.print(s.charAt(i));

)

A)acegB)ACEGC)abcdefgD)abed

2、有整型數(shù)組:int口x={12,35,8,7,2};,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中的

元素值依次是(A).

A)2781235B)1235872

C)3512872D)8712352

3、下面的程序段創(chuàng)建了BufferedReader類的對(duì)象in,以便讀取本機(jī)c盤my文件

夾下的文件File構(gòu)造函數(shù)中正確的路徑和又件名的表示是(C)。

Filef=newFile(填代碼處);

file=newFileReader(f);

in=newBufferedReader(file);

A)",/l.txt"B)"../my/l.txt"C)"c:\\my\\l.txt"D)"c:\my\l.txt"

4、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(A)。

Stringsl=newStringfabc");

Strings2=newString("abc");

booleanbl=sl.equals(s2);

booleanb2=(sl==s2);

System.out.print(bl+""+b2);

A)truefalseB)falsetrueC)truetrueDJfalsefalse

5、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(B)。

Hashtablehashtable=newHashtable();

hashtable.puti"x";,12345'');

hashtable.put("y","67890");

hashtable.putCa'^abcde");

System.out.println(hashtable.get("a"));

A)aB)abcdeC)12345D)67890

6、下面語句的功能是(A)。

RandomAccessFileraf2=newRandomAccessFile("l.txt"J'rw");

A)打開當(dāng)前目錄下的文件l.txt,既可以向文件寫數(shù)據(jù),也可以從文件讀數(shù)據(jù)。

B)打開當(dāng)前目錄下的文件l.txt,但只能向文件寫入數(shù)據(jù),不能從文件讀取數(shù)據(jù)。

C)打開當(dāng)前目錄下的文件l.txt,但不能向文件寫入數(shù)據(jù),只能從文件讀取數(shù)據(jù)。

D)以上說法都不對(duì)。

7、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(B)。

Strings="1234b#aaa#bbb#6/890";

intn=s.indexOf("#");

intk=s.indexOf("#'\n+l);

intm=s.indexOf("#"zk+l);

Strings2=s.substring(m+l);

System.out.println(s2);

A)123456B)67890C)aaaD)bbb

8、下面程序段執(zhí)行后b的值是(B)o

Integerinteg=newlnteger(9);

booleanb=integinstanceofObject;

A)9B)trueC)1D)false

9、應(yīng)用程序Testjava的源程序如下,在命令行鍵入:

javaTestaaabbc

回車后輸出的結(jié)果是(A).

publicclassTest{

publicstaticvoidmain(Stringargs[]){

intkl=args.length;

intk2=args[l].length));

System.out.print(kl+""+k2);

)

)

A)32B)12C)13D)33

10、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(A)。

intb口口;{{1},{2,2},{2,2,2}};

intsum=0;

forfinti=O;i<b.length;i++){

forfintj=O;j<b[i].length;j++){

sum*=b[i][j];

)

)

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

A)32B)llC)2D)3

、應(yīng)用程序的方法中有以下語句,則執(zhí)行后輸出的結(jié)果是(

11mainD)o

int[]x={125,21,5,168,98};

mtmax=x[0];

forfinti=l;i<x.length;i++){

if(x[i]>max)

max=x[i];

)

System.out.println(max);

A)125B)5C)98D)168

12、程序Test.java編譯運(yùn)行后輸出的結(jié)果是(AL

publicclassTest{

Stringsl="java";

publicstaticvoidmain(Stringargs[]){

intz=2;

Testt=newTest();

System.out.println(t.sl+z);

)

)

A)java2B)2C)沒有輸出結(jié)果D)java

13、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(A)。

,,

Stringsl="0.5/s2="12";

doublex=Double.parseDouble(sl);

inty=lntcgcr.parsclnt(s2);

System.out.println(x+y);

A)12.5B)120.5C)12D)“12.5〃

14、下面的程序創(chuàng)建了一個(gè)文件輸出流對(duì)象,用來向文件test.txt中輸出數(shù)據(jù),

假設(shè)程序當(dāng)前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序

運(yùn)行次,則文件的內(nèi)容是(

3test.txtD)o

importjava.io.*;

publicclassTest{

publicstaticvoidmainfStringargs[]){

try(

Strings="ABCDE";

byteb[]=s.getBytes();

FileOutputStreamfile=newFileOutputStreamC'test.txt'^true);

file.write(b);

file.close();

)

catch(IOExceptione){

System.out.println(e.toString());

)

)

)

A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE

15、下面那些方法不是接口Collection中己聲明的方法(C)?

A)添加元素的add(Objectobj)方法

B)刪除元素的remove(Objectobj)方法

C)得到元素個(gè)數(shù)的length。方法

D)返回迭代器的iterator。方法,迭代器用于元素遍歷

二、多選題

1、下面main()方法的定義哪些是正確的(ACD)?

A)publicstaticvoidmain(Stringargs[]){}B)publicstaticvoidmain(String[]){}

C)publicstaticvoidmain(String[]args){}D)publicstaticvoidmain(String[]x){}

2、線程對(duì)象的生命周期中,通常經(jīng)歷下面哪些狀態(tài)(ABCD)0

A)新建B)運(yùn)行C)就緒D)死亡

3、下面說法正確的是(ABCD)o

A)final可修飾類、屬性(變量)、方法。

B)abstract可修飾類、方法。

C)抽象方法只有方法頭,沒有方法體。

D)關(guān)鍵字final和abstract不能同時(shí)使用。

4、下面關(guān)于java中輸入/輸出流的說法正確的是(ABCD)o

A)FilelnputStream與FileOutputStream類用讀、寫字節(jié)流。

B)Reader與Wr

溫馨提示

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

評(píng)論

0/150

提交評(píng)論