JAVA期末考試復(fù)習(xí)題_第1頁
JAVA期末考試復(fù)習(xí)題_第2頁
JAVA期末考試復(fù)習(xí)題_第3頁
JAVA期末考試復(fù)習(xí)題_第4頁
JAVA期末考試復(fù)習(xí)題_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

一、單選擇題

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

這些字節(jié)碼文件的擴(kuò)展名為(B)o

A.javaB..cIass

C.htmlD..exe

2、設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z---/++x的值

是(A)o

A.3B.3.5

C.4D.5

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

A.pubIicB.private

C.staticD.protected

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

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

A.staticvoidmethod()B.pubIicvoidmethod()

C.finalvoidmethod()D.abstractvoidmethod()

5、關(guān)于選擇結(jié)構(gòu)下列哪個(gè)說法正確?(B)

A.if語句和else語句必須成對(duì)出現(xiàn)

B.if語句可以沒有else語句對(duì)應(yīng)

C.switch結(jié)構(gòu)中每個(gè)case語句中必須用break語句

D.switch結(jié)構(gòu)中必須有defau11語句

6、while循環(huán)和do…whiIe循環(huán)的區(qū)別是:(D)

A.沒有區(qū)別,這兩個(gè)結(jié)構(gòu)任何情況下效果一樣

B.whiIe循環(huán)比do…whiIe循環(huán)執(zhí)行效率高

C.whiIe循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次

D.do…whiIe循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次

7、關(guān)于for循環(huán)和whiIe循環(huán)的說法哪個(gè)正確?(B)

A.whiIe循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。

B.whiIe循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)的判斷條件一般

是非程序結(jié)果

C.兩種循環(huán)任何時(shí)候都不可以替換

D.兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空

8、下列修飾符中與訪問控制無關(guān)的是(D)

A.privateB.pubIic

C.protectedD.final

9^void的含義:(A)

A.方法沒有返回值B.方法體為空

C.沒有意義D.定義方法時(shí)必須使用

10、return語句:(C)

A.只能讓方法返回?cái)?shù)值B.方法都必須含有

C.方法中可以有多句returnD.不能用來返回對(duì)象

11、關(guān)于對(duì)象成員占用內(nèi)存的說法哪個(gè)正確?(B)

A.同一個(gè)類的對(duì)象共用同一段內(nèi)存

B、同一個(gè)類的對(duì)象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存

空間

C.對(duì)象的方法不占用內(nèi)存

D.以上都不對(duì)

12、下列說法哪個(gè)正確?(C)

C、使用對(duì)象的方法時(shí)D、使用對(duì)象的屬性時(shí)

16、抽象方法:(C)

A、可以有方法體

B、可以出現(xiàn)在非抽象類中

C、是沒有方法體的方法

D、抽象類中的方法都是抽象方法

17、關(guān)于繼承的說法正確的是:(B)

A、子類將繼承父類所有的屬性和方法。

B、子類將繼承父類的非私有屬性和方法。

C、子類只繼承父類pubIic方法和屬性

D、子類只繼承父類的方法,而不繼承屬性

18、關(guān)于構(gòu)造函數(shù)的說法哪個(gè)正確?(C)

A、一個(gè)類只能有一個(gè)構(gòu)造函數(shù)

B、一個(gè)類可以有多個(gè)不同名的構(gòu)造函數(shù)

C、構(gòu)造函數(shù)與類同名

D、構(gòu)造函數(shù)必須自己定義,不能使用父類的構(gòu)造函數(shù)

c

19、this和super:(C)

A、都可以用在main。方法中

B、都是指一個(gè)內(nèi)存地址

C、不能用在main。方法中

D、意義相同

20、關(guān)于super的說法正確的是:(C)

A、是指當(dāng)前對(duì)象的內(nèi)存地址

B、是指當(dāng)前對(duì)象的父類對(duì)象的內(nèi)存地址

C、是指當(dāng)前對(duì)象的父類

D、可以用在main。方法中

21、覆蓋與重載的關(guān)系是(A)

A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個(gè)類中

B.覆蓋方法可以不同名,而重載方法必須同名

C.final修飾的方法可以被覆蓋,但不能被重載

D.覆蓋與重載是同一回事

22、關(guān)于接口哪個(gè)正確?(A)

A、實(shí)現(xiàn)一個(gè)接口必須實(shí)現(xiàn)接口的所有方法

B.一個(gè)類只能實(shí)現(xiàn)一個(gè)接口

C.接口間不能有繼承關(guān)系

D.接口和抽象類是同一回事

23、異常包含下列哪些內(nèi)容?(A)

A.程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況

B.程序中的語法錯(cuò)誤

C.程序的編譯錯(cuò)誤

D.以上都是

24、對(duì)于已經(jīng)被定義過可能拋出異常的語句,在編程時(shí):(A)

A、必須使用try/catch語句處理異常,或用throws將其拋出

B.如果程序錯(cuò)誤,必須使用try/catch語句處理異常

C.可以置之不理

D.只能使用try/catch語句處理

25、當(dāng)某一線程正處于休眠狀態(tài),而另一個(gè)線程用Thread類中的

interrupt()方法中斷它時(shí),拋出的異常類型是(C)。

A)lOExceptionB)RuntimeException

C)InterruptedExceptionD)CIassNotFoundException

26、下面的程序段的功能是(D)o

FilefiIe1=newFiIe("d:\\xxx\\yyy\\zzz");

fiIe1.mkdirs0;

A)在當(dāng)前目錄下生成子目錄:\xxx\yyy\zzzB)生成目錄:

e:\xxx\yyy\zzz

C)在當(dāng)前目錄下生成文件D)以上說法都不對(duì)

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

Strings="xxxxxxxxxxxxxxx#123#456#zzzzz";

intn=s.indexOf("#");

intk=s.indexOfn+1);

Strings2=s.substring(n+1,k);

A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz

28、關(guān)于下面的程序Test.java說法正確的是(D)。

pubIiccIassTest{

Stringx="1";

inty;

PubIicstaticvoidmain(Stringargs[]){

Intz=2;

)

)

A)3B)102C)12D)程序有編譯錯(cuò)誤

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

intb[][]={{1,1,1},{2,2},{3});

intsum=0;

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

for(intj=0;j<b[i].length;j++){

sum+=b[i][j];

1

1

A)10B)6C)9D)13

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

(B)o

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

intmin=x[0];

for(inti=1;i<x.length;i++){

if(x[i]<min)

min=x[i];

)

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

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

HashtablehashtabIe=newHashtabIe0;

hashtable,put("100","aaa");

hashtable.put("200","bbb");

hashtable.put("300","ccc");

+hashtabIe.get("200").toString()

+hashtabIe.get("100").toString());

A)aaaB)bbbC)cccD)cccbbbaaa

32、以下關(guān)于java異常說法不正確的是(D)。

A)ThrowabIe類是Java語言中Error類和Exception類的父類。

B)當(dāng)異常對(duì)象是Exception類(或其子類)的實(shí)例時(shí),能通過Java

虛擬機(jī)或者throw語句拋出該異常對(duì)象,并能通過

try-catch---finally處理。

C)如果只用一個(gè)catch塊捕捉多個(gè)異常對(duì)象,則catch子句中的參

數(shù)類型應(yīng)是所有異常對(duì)象的父類。

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

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

Strings=newString("abcdefg");

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

}

A)acegB)ACEGC)abcdefgD)abed

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

Arrays,sort(x)后,數(shù)組x中的元素值依次是(A)o

A)2781235B)1235872

C)3512872D)8712352

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

Strings1=newString("abc");

Strings2=newString("abc");

booleanb1=s1.equals(s2);

booleanb2=(s1==s2);

”+b2);

A)truefaIseB)faIsetrueC)truetrueD)faIsefaIse

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

HashtablehashtabIe=newHashtabIe();

hashtabIe.put("x","12345");

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

hashtabIe.put("a","abode");

A)aB)abodeC)12345D)67890

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

Strings=H12345#aaa#bbb#67890";

intn=s.indexOf("#");

intk=s.indexOfn+1);

intm=s.indexOfk+1);

Strings2=s.substring(m+1);

A)123456B)67890C)aaaD)bbb

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

Integerinteg=newInteger(9);

booleanb=integinstanceofObject;

A)9B)trueC)1D)faIse

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

javaTestaaabbc

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

pubIiccIassTest{

pubIicstaticvoidmain(Stringargs[]){

intk1=args.length;

intk2=args[1].Iength();

”+k2);

1

1

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

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

intb[][]={{11,{2,2},{2,2,2));

intsum=0;

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

for(intj=O;j<b[i].Iength;j++){

sum*=b[i][j];

)

)

A)32B)11C)2D)3

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

(D)o

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

intmax=x[0];

for(inti=1;i<x.Iength;i++){

if(x[i]>max)

max=x[i];

)

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

42、程序Test.Java編譯運(yùn)行后輸出的結(jié)果是(A)。

pubIiccIassTest(

Strings1=Hjava";

pubIicstaticvoidmain(Stringargs[]){

intz=2;

Testt=newTest();

}

)

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

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

Strings1="0.5",s2=',12";

doubIex=DoubIe.parseDoubIe(s1);

inty=lnteger.parseInt(s2);

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

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

A、pubIicB、superC、3numberD、width

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

A、fieldnameBssuperC、3numberD^#number

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

的(A)

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

C、intIen二s.length;D、Stringt=s+“abc”;

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

A、nameB、helloC、faIseD、good

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

intcount=1;

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

count十=i;

1

System.out.printIn(count);

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

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

A、pubIicB、cIassC、interfaceD、static

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

A、pubIicB、cIassC、interfaceD、static

51、如果容器組件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");

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

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

C、Buttonb=newb();D、b.setLabeI(“確定”);

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

A、FlowLayoutB、BorderLayout

C、CardLayoutD、nuII

二、填空題

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

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

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

個(gè)Unicode碼占用上字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英

文字符,都是占

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

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

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

faIseo

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

法,該方法必須在抽象類之中定義。final方法是不能被當(dāng)前類的

子類重新定義的方法。

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

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

7、設(shè)有數(shù)組定義:intMylntArray口={10,20,30,40,50,60,

70);則執(zhí)行以下幾個(gè)語句后的輸出結(jié)果是皿。

ints=0;

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

if(i%2==1)

s+=MyIntArray[i];

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

口的定義可以實(shí)現(xiàn)工重繼承關(guān)系。

1、如果將類MyClass聲明為public,它的文件名稱必須是_

MyClass,java才能正常編譯。

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

3、Java中布爾類型的常量有兩種,它們是true和false。

4、Java中用于定義小數(shù)的關(guān)鍵字有兩個(gè):fIoat和doubIe,后

者精度高于前者。

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

的運(yùn)算符是?。

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

str,定義一個(gè)具有10個(gè)元素的整型數(shù)組a的語句是:int[]r二new

int[10]o

7、導(dǎo)入mypackage包中的所類的命令是impoartmypackage.*:。

8、當(dāng)聲明一個(gè)數(shù)組intarr[]=newint[5];時(shí),這代表這個(gè)數(shù)

組所保存的變量類型是」正,數(shù)組名是arr,數(shù)組的大小為5,

數(shù)組元素下標(biāo)的使用范圍是0至14。

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)

三角形”);

eIse

不是三角形”);

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

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

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

三、簡(jiǎn)答題

1、簡(jiǎn)述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和finaIIy。

1.異常處理:在Java語言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finaIly

三個(gè)塊組成。其中try塊存放將可能發(fā)生異常的Java語言,并管理

相關(guān)的異常指針;catch塊緊跟在try塊后面,用來激發(fā)被捕獲的

異常;千inally塊包含清除程序沒有釋放的資源,句柄等。不管try

塊中的代碼如何退出,都將執(zhí)行千inally塊。

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

語句將異常拋給上層的調(diào)用者。Throw語句就是來明確地拋出一個(gè)

異常;首先你必需得到一個(gè)ThrowabIe的實(shí)例句柄,通過參數(shù)傳到

catch中,或者采用new操作符來創(chuàng)建一個(gè)。

2、什么是繼承?

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

的某些屬性和方法,并把這種關(guān)系稱為繼承,先定義的類稱為父類,

后定義的類稱為子類,并且允許多層的繼承關(guān)系。

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

答:方法的重寫Overriding和重載OverIoading是Java多態(tài)性的

不同表現(xiàn)。

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

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

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

該方法被重寫(Overriding)o子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用

子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。

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

數(shù)或有不同的參數(shù)類型,則稱為方法的重載(OverIoading)。

Overloaded的方法是可以改變返回值的類型。

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

1>importjava,io.*;

pubIiccIassabc

|

pubIicstaticvoidmain(Stringargs[])

{

ABs=newAB(nHelIo!","IloveJAVA.f,);

}

)

cIassAB{

Strings1;

Strings2;

pubIicAB(Stringstr1,Stringstr2)

(

s1=str1;

s2=str2;

}

pubIicStringtoString()

(

returns1+s2;

)

)

運(yùn)行結(jié)果:Hello"loveJAVA

2、importjava.io.*;

pubIiccIassabc

(

pubIicstaticvoidmain(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];

1

}

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

3、importjava,io.*;

pubIiccIassabc

(

pubIicstaticvoidmain(Stringargs[])

{

}

1

cIassSubClassextendsSuperClass

{intc;

SubClass(intaa,intbb,intcc)

{

super(aa,bb);

c=cc;

1

)

cIassSubSubClassextendsSubClass

{inta;

SubSubClass(intaa,intbb,intcc)

{super(aa,bb,cc);

A=aa+bb+cc;

)

voidshow0

{

)

}

運(yùn)行結(jié)果:a二60b=20c=30_

4、以下程序的輸出結(jié)果為_Peteris17yearsold!

_______________________________o

pubIiccIassPerson{

Stringname;

intage;

pubIiePerson(Stringname,intage){

=name;

this.age=age;

}

pubIicstaticvoidmain(String[]args){

Personc=newPerson("Peter",17);

}

)

5、以下程序的輸出結(jié)果為—課程號(hào):101課程名:ASP學(xué)

分:3o

pubIiccIassCourse{

privateStringeNumber;

privateStringcName;

privateintcllnit;

pubIicCourse(Stringnumber,Stringname,intunit)

eNumber=number;

cName=name;

cllnit=unit;

}

pubIicvoidprintCourseInfo(){

課程號(hào):"+cNumber+課程名:"+cName+學(xué)分:“+cLInit);

}

}

cIassCourseTest{

pubIicstaticvoidmain(String[]args){

Coursec;

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

c.printCourseInfo();

}

)

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

pubIiccIassTom{

privatefloatweight;

privatestaticStringname;

pubIicvoidsetWeight(floatweight){

this.weight=weight;

)

privatevoidout(){

體重:"+weight+"斤");

1

pubIicstaticvoidmain(String[]args){

Tom.name二"湯姆貓”;

Tomcat=newTom();

cat.setWeight(20);

cat.out();

)

}

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

話:學(xué)校:九中。

pubIiccIassFather{

Stringname,address,teI;

intage;

pubIieFather(Stringname,intage){

=name;

this.age=age;

)

voidout(){

姓名:“+name);

年齡:"+age);

)

voidoutOther(){

家庭住址:"+address);

電話:"+tel);

)

)

cIassSonextendsFather{

Stringschool;

pubIicSon(Stringname,intage){

super(name,age);

1

voidout0{

super,out();

super.outOther();

學(xué)校:+schooI);

}

pubIicstaticvoidmain(Stringargs[]){

Sonson=newSon("Tom",15);

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

son.school="九中";

son.out();

}

)

8、下列程序的運(yùn)行結(jié)果是12345

publiccIassMyClass{

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

voidout0{

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

}

pubIicstaticvoidmain(String[]args){

MyCIassmy=newMyCIass();

my.out();

}

1

五、程序填空題

1.pubIiccIassSum{

pubIicstaticvoidmain(String[]args){

intj=10;

calculate(j);

)

staticvoidcalculate(intj){

for(inti=0;i<10;i++)

J++;

}

)

輸出結(jié)果為:

jis:(1)10

jincalculateOis:(2)20

AtIastjis:(3)10

2.按要求填空

abstractcIassSuperAbstract(

voida(){???}

abstractvoidb();

abstractintc(inti);

)

interfaceAsSuper

{

voidx();

)

abstractcIassSubAbstractextendsSuperAbstractimplements

AsSuper

{

pubIicvoidb(){???}

abstractStringf();

)

pubIiccIassInheritAbstractextendsSubAbstract{

pubIicvoidx(){???}

pubIicintc(inti){???}

pubIicStringf(){???}

pubIicstaticvoidmain(Stringargs[]){

InheritAbstractinstance=newInheritAbstract();

instance.x();

instance.a();

instance.b();

instance.c(100);

}

)

在以上這段程序中:

抽象類有:SuperAbstract和(1)(寫出類名)Supe「Abstract

非抽象類有:(2)(寫出類名)InheritAbstract

接口有:(3)(寫出接口名)AsSuper

AsSuper中的x()方法是抽象(4)方法,所以在InheritAbstract

中必須對(duì)它進(jìn)行覆蓋和實(shí)現(xiàn)(5)

3.按注釋完成程序

pubIiccIassLeaf{

privateinti=0;//此屬性值用于檢臉

Leafincrement(){//定義方法increment(),返回值是Leaf類的

對(duì)象

i++;

returnthis(1);〃將當(dāng)前對(duì)象的地址作為返回值返回

)

voidprint(){

1

pubIicstaticvoidmain(Stringargs[]){

Leafx二newLeaf()(2);//創(chuàng)建Leaf類的對(duì)象x

x.increment().increment().increment().print();

}//多次調(diào)用方法increment(),返回的都是x的地址,i值表示

調(diào)用次數(shù)

}

輸出結(jié)果為i=3⑶

五、程序閱讀題

1、閱讀下面的程序代碼,并回答問題(u問3分,v問3分,共6分)。

Strings1=newString("abode");

Strings2=newString("abode");

booIeanb1=s1.equaIs(s2);

booleanb2=s1-s2;

"+b2);

u程序段執(zhí)行后,在命令行的輸出結(jié)果如何?答:TruefaIse

v解釋輸出(1)的結(jié)果的原因?略

2、閱讀下面的程序,并回答問題(u問3分,v問3分,共6分)。

importjava,io.*;

pubIiccIassTest{

pubIicstaticvoidmain(Stringargs[])throwslOException{

BufferedReaderbuf=newBufferedReader(

newlnputStreamReader(System,in));

while(true){

Stringstr=buf.readLine();

if(str.equaIs("quit"))

break;

intx=Integer,parseInt(str);

)

}

)

編譯運(yùn)行上面的程序:

u從鍵盤輸入10,回車后輸出的結(jié)果如何?答:100

v從鍵盤輸入exit,回車后程序能正確執(zhí)行嗎?為什么?答:不能,

3、閱讀下面的程序,回答問題(u問3分,v問3分,共6分)。

importjava.awt.*;

importjavax.swing.*;

pubIiccIassTextendsJFrame{

pubIicT(){

super("GridLayout");

Containercon=this.getContentPane();

con.setLayout(newGridLayout(2,3));

con.add(newJButton("a"));

con.add(newJButton("b"))

con.add(newJButton("c"))

con.add(newJButton("d"))

con.add(newJButton("e"))

con.add(newJButton("f"))

setSize(200,80);

setVisibIe(true);

1

pubIicstaticvoidmain(Stringargs[]){

newT();

}

}

U畫圖表示程序運(yùn)行后的圖形界面。略

V如果程序通過實(shí)現(xiàn)某個(gè)接口處理按鈕的動(dòng)作事件,則該接口名為

何?接口中的方法頭聲明如何?略

4、閱讀下面的程序,回答問題(u問3分,v問3分,共6分)。o

importjava,util.*;

pubIiccIassT{

pubIicstaticvoidmain(Stringargs[]){

Setset=newTreeSet0;

set.add(newInteger(10));

set.add(newInteger(5));

set.add(newInteger(15));

set.add(newInteger(5));

set.add(newInteger(10));

Iteratorit=set.iterator();

whiIe(it.hasNext()){

");

)

}

)

u程序運(yùn)行后輸出的結(jié)果如何?答:Size=351015

v說明java中的集合(Set接口)和映射(Map接口)的主要區(qū)別。略

5、閱讀下面的程序,并回答問題(u問3分,v問3分,共6分)。

importjava,io.*;

pubIiccIassTest{

pubIicstaticvoidmain(Stringargs[])throwslOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System,in));

while(true){

Stringstr=buf.readLine();

if(str.equaIs("quit"))

break;

intx=lnteger.parseInt(str);

)

)

)

編譯運(yùn)行上面的程序:

u從鍵盤輸入5,回車后輸出的結(jié)果如何?答:25

v從鍵盤輸入quit,回車后程序執(zhí)行情況如何?答:終止應(yīng)用程序

的運(yùn)行

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

1、按以下要求編寫程序

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

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

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

解答:

pubIiccIassRectangle{

fIoatwidth,height;

pubIicRectangIe(fIoatwidth,fIoatheight){

this.width=width;

this.height=height;

)

pubIicfloatgetLength(){

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

1

pubIicfIoatgetArea(){

returnthis.width*this.height;

)

pubIicstaticvoidmain(String[]args){

Rectanglerect=

溫馨提示

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