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

下載本文檔

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

文檔簡介

《JAVA程序設(shè)計(jì)》練習(xí)題

一、單選擇題

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

為(B)。

A.javaB..class

C.htmlD..exe

2、設(shè)x=l,y=2,z=3,則表達(dá)式y(tǒng)+=z——/++x的值是(A)。

A.3B.3.5

C4D.5

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

A.publicB.private

C.staticD.protected

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

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

A.staticvoidmcthod()B.publicvoidmcthod()

C.finalvoidmcthod()D.abstractvoidmcthod()

二、填空題

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

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

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

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

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

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

4、若x=5,y=10,則x<y和x>=y的邏輯值分別為true和false0

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

須在抽象類之中定義。最終(final)方法是不能被當(dāng)前類的子類重新定義的方法。

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

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

7、設(shè)有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70};則執(zhí)行以下幾個(gè)語句后

的輸出結(jié)果是120°

ints=0;

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

if(i%2二二1)

s+=MylntArray[i];

Systcm.out.println(s);

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

繼承關(guān)系。

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

1、importjava.io.*;

publicclassabc

publicstaticvoidmain(Stringargs[])

ABs=newAB(',Hello!n;'IloveJAV?\.n);

Systcm.out.println(s.toString():;

classAB{

publicstaticvoidmain(Stringargsfl)

{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);

}

}

s=180

3、importjava.io.*;

publicclassabc

publicstaticvoidmain(StringargsQ)

System.out.println(',a=,,+a+"\nb=,,4-b);

classSubClassextendsSuperClass

{intc;

SubClass(intaa,intbb,intcc)

super(aa,bb);

c=cc;

classSubSubClassextendsSubClass

{inta;

SubSubClass(intaa,intbb,intcc)

{super(aa,bb,cc);

A=aa+bb+cc;

voidshow。

{

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

}

}

一.判斷題

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

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)與類名相同,返回類型為voido(X)

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

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

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

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

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

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

賦值對(duì)象相同的新對(duì)象。(X)

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

1.Java叩plication中的主類需包含main方法,以下哪項(xiàng)是main方法的正確形參?(B)

A、StringargsB>Stringar。C、CharargD>StringBufferargsQ

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、intBxBooleanC、floatD、char

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

A、PanelBsFrameC、AppletD>Dialog

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

A、staticBxpackageC、privateD、public

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

A、intQB、startQC、destroyOD、stopO

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

intx=—3;

inty=—10;

System.out.prindn(y%x);

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

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

1.

2.publicclassInteresting(

3.//dosth

4}

A、importjava.awt.*;B、packagemypackagc;

C、classOtherClass{}D、publicclassMyClass{}

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

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

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

15.類Parent、Child定義如下:

1.publicclassParent

2.{publicfloataFun(floata,floatb)throws

3.lOException{}

九}

5.publicclassChildextendsParent(

6.

7.}

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

A、floataFun(floata,floatb){}

B、publicintaFun(inta,intb)thro\vsException{}

C、publicfloataFun(floatp,floatq){}

D、publicintaFun(inta,intb}throwsIOExccption{}

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

A、privateprotectedprivateprotectedD>public

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

ReturnTypemethod(bytex,doubley)

{

return(short)x/y*2;

)

ANbyteB、shortC%intD、double

三.程序閱讀題

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

classStringfTestl

publicstaticvoidmain(String!]args)

Strings1="hello";

Strings2=newStringC'hello");

if(sl.equals(s2)){

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

}else{

System.out.println("不相等

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

publicclassTest/\rray

publicstaticvoidmain(Stringargs[]){

inti,j;

inta[]={5,9,6,8,7);

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

intk=i;

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

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

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

)

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

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

System.out.prindn();

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

classAnimal{

AnimalQ{

System.out.print(°Animal*');}

}

public

classDogextendsAnimal{

OogQ(

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

publicstaticvoidmain(String|]args){

Dogsnoppy=newDogQ;}

)

AnimalDog

填空題

1、如果將類MyQass聲明為public,它的文件名稱必須是(MyClass.java)才能正常編譯。

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

3、Java中布爾類型的常量有兩種,它們是(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的語句是:(int0arr=newint[10];)。

7、導(dǎo)入mypackagc包中的所類的命令是(importmypackagc.*;)。

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)o

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

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

intx—5,y—6,z—

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

Systcm.out.println("三角形”);

else

System.out.println("不是三角形");

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

intaf]={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=newPcrson("Pctcr",17);

System.out.println(+"is"+c.age+"yearsold!'*);

)

}

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

PublicclassCourse{

privateStringeNumber;

privateStringcName;

privateintcUnit;

publicCourse(Stringnumber,Stringname,intunit){

c\umber=number;

c\ame=name;

cUnit=unit;

PublicvoidprintCourselnfbQ{

System.out.println("課程號(hào):"+eNumber+"課程名:"+cName+”學(xué)分:"+cUnit);

classCourseTest{

publicstaticvoidmain(String[]args){

Coursec;

c=newCourse,101“,“ASP”,3);

c.printCourseInf()0;

}

)

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

publicclassMyClass{

intaO={1,2,3,4,5};

voidoutQ{

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

Systcm.out.print(a[j]+

publicstaticvoidmain(String|]args){

MyClassmy=newMyClassO;

my.outO;

}

}

四、簡答題

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

答:首先Java的異常是面向?qū)ο蟮?。一個(gè)Java的Exception是一個(gè)描述異常情況的對(duì)象.當(dāng)

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

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

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

放將可能發(fā)生異常的Java語言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來

激發(fā)被捕獲的異常;加油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ū)別?

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

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

的一種表現(xiàn)。

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

子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏

蔽”了。

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

則稱為方法的重載(Overloa&nQ。Overloaded的方法是可以改變返回值的類型。

1.創(chuàng)建類的對(duì)象時(shí),使用運(yùn)算符______new給對(duì)象分配內(nèi)存空間。

2,定義類的構(gòu)造方法不能有返回值類型,其名稱與—類一名相同。

3.Java語言中關(guān)鍵字.double—表示雙精度類型。

4,若有定義:floatb={l.lf,3.5f,6.8f};,則b.length。的值是—3.

5.若有如下類定義,則類B是類人的_子類—。

classBextendsA{

6.接口中的成員只有靜態(tài)常量和—抽象方法—o

7,在子類中使用關(guān)鍵字—super做前綴可調(diào)用被子類覆蓋的父類中的方法。

8.關(guān)鍵字—import—用于導(dǎo)入包中的類到程序中,供程序中使用。

9.Java語言中,通常把可能發(fā)生異常的方法調(diào)用語句放到try塊中,并用緊跟其后的

_catch一塊來捕獲和處理異常。

閱讀程序,回答問題

1.

1:publicclassOutputl{

2:publicstaticvoidmain(Stringargc[|){

3:inti=0;

4:for(charch=97;ch<l13;ch++,i++){

5:if(i%8==0)

6:System.out.printlnf*');

7:System.out.print(H\t''+ch);

8:}

9:)

10:}

⑴程序第5、6行的if語句的功能是什么?⑵程序輸出的結(jié)果有幾行?

(1)每打印8個(gè)字符,則換行。(2)輸出的結(jié)果有2行

2.

1:importjava.util.Arrays;

2:

3:publicclassSortArray{

4:publicstaticvoidmain(Srringargs[|){

5:StringOstr={“size","abs

溫馨提示

  • 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)論