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

下載本文檔

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

文檔簡(jiǎn)介

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

一、單選擇題1、編譯Java

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

B

)。

A.java

B..class

C.html

D..exe2、設(shè)x=1,y=2,z=3,則表達(dá)式

y+=z--/++x

的值是(A

)。

A.3

B.3.5

C.4

D.53、不允許作為類(lèi)及類(lèi)成員的訪問(wèn)控制符的是(

C)。

A.public

B.private

C.static

D.protected4、為AB類(lèi)的一個(gè)無(wú)形式參數(shù)無(wú)返回值的方法method書(shū)寫(xiě)方法頭,使得使用類(lèi)名AB作為前綴就可以調(diào)用它,該方法頭的形式為(

A

)。

A.staticvoidmethod()

B.publicvoidmethod()

C.finalvoidmethod()

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

B

)A.if語(yǔ)句和else語(yǔ)句必須成對(duì)出現(xiàn)B.if語(yǔ)句可以沒(méi)有else語(yǔ)句對(duì)應(yīng)C.switch結(jié)構(gòu)中每個(gè)case語(yǔ)句中必須用break語(yǔ)句D.switch結(jié)構(gòu)中必須有default語(yǔ)句

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

D

)A.沒(méi)有區(qū)別,這兩個(gè)結(jié)構(gòu)任何情況下效果一樣B.while循環(huán)比do…while循環(huán)執(zhí)行效率高C.while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次D.do…while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次

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

)A.while循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。B.while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)的判斷條件一般是非程序結(jié)果C.兩種循環(huán)任何時(shí)候都不可以替換D.兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空

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

D

)A.private

B.publicC.protected

D.final

9、void的含義:(

A

)A.方法沒(méi)有返回值

B.方法體為空C.沒(méi)有意義

D.定義方法時(shí)必須使用

10、return語(yǔ)句:(

C

)A.只能讓方法返回?cái)?shù)值

B.方法都必須含有C.方法中可以有多句return

D.不能用來(lái)返回對(duì)象

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

B

)A.同一個(gè)類(lèi)的對(duì)象共用同一段內(nèi)存B、同一個(gè)類(lèi)的對(duì)象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間C.對(duì)象的方法不占用內(nèi)存D.以上都不對(duì)

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

)A.不需要定義類(lèi),就能創(chuàng)建對(duì)象B.對(duì)象中必須有屬性和方法C.屬性可以是簡(jiǎn)單變量,也可以是一個(gè)對(duì)象D、屬性必須是簡(jiǎn)單變量

13、下列說(shuō)法哪個(gè)正確?(

A

)A、一個(gè)程序可以包含多個(gè)源文件B、一個(gè)源文件中只能有一個(gè)類(lèi)C、一個(gè)源文件中可以有多個(gè)公共類(lèi)D、一個(gè)源文件只能供一個(gè)程序使用

14、關(guān)于方法main()的說(shuō)法哪個(gè)正確?(

C

)A.方法main()只能放在公共類(lèi)中B

main()的頭定義可以根據(jù)情況任意更改C.一個(gè)類(lèi)中可以沒(méi)有main()方法D.所有對(duì)象的創(chuàng)建都必須放在main()方法中

15、構(gòu)造函數(shù)何時(shí)被調(diào)用?(

A

)A、創(chuàng)建對(duì)象時(shí)

B、類(lèi)定義時(shí)C、使用對(duì)象的方法時(shí)

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

16、

抽象方法:(

C

)A、可以有方法體B、可以出現(xiàn)在非抽象類(lèi)中C、是沒(méi)有方法體的方法D、抽象類(lèi)中的方法都是抽象方法

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

B

)A、子類(lèi)將繼承父類(lèi)所有的屬性和方法。B、子類(lèi)將繼承父類(lèi)的非私有屬性和方法。C、子類(lèi)只繼承父類(lèi)public方法和屬性D、子類(lèi)只繼承父類(lèi)的方法,而不繼承屬性

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

C

)A、一個(gè)類(lèi)只能有一個(gè)構(gòu)造函數(shù)B、一個(gè)類(lèi)可以有多個(gè)不同名的構(gòu)造函數(shù)C、構(gòu)造函數(shù)與類(lèi)同名D、構(gòu)造函數(shù)必須自己定義,不能使用父類(lèi)的構(gòu)造函數(shù)C19、this和super:(

C

)A、都可以用在main()方法中B、都是指一個(gè)內(nèi)存地址C、不能用在main()方法中D、意義相同

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

C

)A、是指當(dāng)前對(duì)象的內(nèi)存地址B、是指當(dāng)前對(duì)象的父類(lèi)對(duì)象的內(nèi)存地址C、是指當(dāng)前對(duì)象的父類(lèi)D、可以用在main()方法中

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

A

)A、覆蓋只有發(fā)生在父類(lèi)與子類(lèi)之間,而重載可以發(fā)生在同一個(gè)類(lèi)中B.覆蓋方法可以不同名,而重載方法必須同名C.final修飾的方法可以被覆蓋,但不能被重載D.覆蓋與重載是同一回事

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

)A、實(shí)現(xiàn)一個(gè)接口必須實(shí)現(xiàn)接口的所有方法B.一個(gè)類(lèi)只能實(shí)現(xiàn)一個(gè)接口C.接口間不能有繼承關(guān)系D.接口和抽象類(lèi)是同一回事

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

A

)A.程序執(zhí)行過(guò)程中遇到的事先沒(méi)有預(yù)料到的情況B.程序中的語(yǔ)法錯(cuò)誤C.程序的編譯錯(cuò)誤D.以上都是

24、

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

A

)A、必須使用try/catch語(yǔ)句處理異常,或用throws將其拋出B.如果程序錯(cuò)誤,必須使用try/catch語(yǔ)句處理異常C.可以置之不理D.只能使用try/catch語(yǔ)句處理

25、當(dāng)某一線程正處于休眠狀態(tài),而另一個(gè)線程用Thread類(lèi)中的interrupt()方法中斷它時(shí),拋出的異常類(lèi)型是(

C

)。A)IOException

B)RuntimeExceptionC)InterruptedException

D)ClassNotFoundException

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

D

)。Filefile1=newFile("d:\\xxx\\yyy\\zzz");file1.mkdirs();A)在當(dāng)前目錄下生成子目錄:\xxx\yyy\zzz

B)生成目錄:e:\xxx\yyy\zzzC)在當(dāng)前目錄下生成文件xxx.yyy.zzz

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

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

B

)。

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

intn=s.indexOf("#");

intk=s.indexOf("#",n+1);

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

System.out.println(s2);

A)123456

B)123

C)xxxxxxxxxxxxxxx

D)zzzzz

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

D

)。publicclassTest{

Stringx="1";

inty;

publicstaticvoidmain(Stringargs[]){

intz=2;

System.out.println(x+y+z);

}

}A)3

B)102

C)12

D)程序有編譯錯(cuò)誤

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

A

)。

int

b[][]={{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];

}

}

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

B)6

C)9

D)13

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

B

)。int[]x={125,21,5,168,98};intmin=x[0];for(inti=1;i<x.length;i++){

if(x[i]<min)

min=x[i];}System.out.println(min);A)125

B)5

C)98

D)168

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

)。Hashtablehashtable=newHashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()

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

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

A)aaa

B)bbb

C)ccc

D)cccbbbaaa

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

D

)。A)Throwable類(lèi)是Java語(yǔ)言中Error類(lèi)和Exception類(lèi)的父類(lèi)。B)當(dāng)異常對(duì)象是Exception類(lèi)(或其子類(lèi))的實(shí)例時(shí),能通過(guò)Java虛擬機(jī)或者throw語(yǔ)句拋出該異常對(duì)象,并能通過(guò)try…catch…finally處理。C)如果只用一個(gè)catch塊捕捉多個(gè)異常對(duì)象,則catch子句中的參數(shù)類(lèi)型應(yīng)是所有異常對(duì)象的父類(lèi)。D)以上說(shuō)法都不對(duì)。

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

A

)。Strings=newString("abcdefg");for(inti=0;i<s.length();i+=2){

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

A)aceg

B)ACEG

C)abcdefg

D)abcd

34、有整型數(shù)組:int[]

x={12,35,8,7,2};,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中的元素值依次是(

A

)。A)2

7

8

12

35

B)12

35

8

7

2

C)35

12

8

7

2

D)8

7

12

35

2

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

A

)。

String

s1=newString("abc");

String

s2=newString("abc");

booleanb1=s1.equals(s2);

booleanb2=(s1==s2);

System.out.print(b1+"

"+b2);

A)true

false

B)false

true

C)true

true

D)false

false

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

B

)。

Hashtablehashtable=newHashtable();

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

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

hashtable.put("a","abcde");

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

A)a

B)abcde

C)12345

D)67890

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

B

)。

String

s="12345#aaa#bbb#67890";

int

n=s.indexOf("#");

int

k=s.indexOf("#",n+1);

int

m=s.indexOf("#",k+1);

String

s2=s.substring(m+1);

System.out.println(s2);

A)123456

B)67890

C)aaa

D)bbb

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

)。

Integerinteg=newInteger(9);

booleanb=integ

instanceof

Object;A)9

B)true

C)1

D)false

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

javaTest

aaa

bb

c回車(chē)后輸出的結(jié)果是(

A

)。publicclassTest{

publicstaticvoidmain(Stringargs[]){

int

k1=args.length;

int

k2=args[1].length();

System.out.print(k1+"

"+k2);

}

}A)3

2

B)1

2

C)1

3

D)3

3

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

)。

int

b[][]={{1},{2,2},{2,2,2}};

intsum=0;

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

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

sum*=b[i][j];

}

}

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

B)11

C)2

D)3

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

D

)。int[]

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

max=x[0];for(inti=1;i<x.length;i++){

if(x[i]>max)

max=x[i];}System.out.println(max);A)125

B)5

C)98

D)168

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

A

)。publicclassTest{

Strings1="java";

publicstaticvoidmain(Stringargs[]){

intz=2;

Testt=newTest();

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

}

}

A)java2

B)2

C)沒(méi)有輸出結(jié)果

D)java

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

A

)。

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

doublex=Double.parseDouble(s1);

int

y=Integer.parseInt(s2);

System.out.println(x+y);A)12.5

B)120.5

C)12

D)“12.5”

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

A

)A、public

B、super

C、3number

D、width

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

A

)A、fieldname

B、super

C、3number

D、#number

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

A

)A、s+="books";

B、s=s+100;C、intlen=s.length;

D、Stringt=s+“abc”;

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

C

)A、name

B、hello

C、false

D、good

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

D

)

intcount=1;

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

count+=i;

}

System.out.println(count);A、5

B、1

C、15

D、16

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

B

)A、public

B、class

C、interface

D、static

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

C

)A、public

B、class

C、interface

D、static

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

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)該使用的語(yǔ)句是(

A

)A、Buttonb=newButton();

B、buttonb=newbutton();C、Buttonb=newb();

D、b.setLabel(“確定”);

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

B

)A、FlowLayout

B、BorderLayout

C、CardLayout

D、null

二、填空題1、開(kāi)發(fā)與運(yùn)行Java程序需要經(jīng)過(guò)的三個(gè)主要步驟為

編輯源程序

、

編譯生成字節(jié)碼

解釋運(yùn)行字節(jié)碼

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

2

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

2

字節(jié)內(nèi)存空間。3、設(shè)x=2,則表達(dá)式(x++)/3的值是

1

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

true

false

。5、

抽象

方法是一種僅有方法頭,沒(méi)有具體方法體和操作實(shí)現(xiàn)的方法,該方法必須在抽象類(lèi)之中定義。

final

方法是不能被當(dāng)前類(lèi)的子類(lèi)重新定義的方法。6、創(chuàng)建一個(gè)名為MyPackage的包的語(yǔ)句是

packagemypackage

,該語(yǔ)句應(yīng)該放在程序的位置為:

應(yīng)放在程序第一句

。7、設(shè)有數(shù)組定義:int

MyIntArray[]={10,20,30,40,50,60,70};

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

120

。

ints=0;

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

if(i%2==1)

s+=MyIntArray[i];

System.out.println(s);8、在Java程序中,通過(guò)類(lèi)的定義只能實(shí)現(xiàn)

重繼承,但通過(guò)接口的定義可以實(shí)現(xiàn)

重繼承關(guān)系。1、如果將類(lèi)MyClass聲明為public,它的文件名稱必須是MyClass.java

才能正常編譯。

2、Java程序中的單行注釋符是

//

,多行注釋符是

/*....*/

。

3、Java中布爾類(lèi)型的常量有兩種,它們是true

false

。

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

float

和double

,后者精度高于前者。

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

==

,用于不相等比較的運(yùn)算符是

<>

。

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

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

。

7、導(dǎo)入mypackage包中的所類(lèi)的命令是

impoartmypackage.*;

。

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

int

,數(shù)組名是

arr

,數(shù)組的大小為

5

,數(shù)組元素下標(biāo)的使用范圍是

0到4

。

9、假設(shè)x=13,y=4,則表達(dá)式x%y!=0的值是

true

,其數(shù)據(jù)類(lèi)型是

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.println("三角形");

else

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

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

65432

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

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

System.out.print(a[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的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try,catch,throw,throws和finally。1.異常處理:在Java語(yǔ)言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finally三個(gè)塊組成。其中try塊存放將可能發(fā)生異常的Java語(yǔ)言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來(lái)激發(fā)被捕獲的異常;finally塊包含清除程序沒(méi)有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。2.拋出異常:Java語(yǔ)言可以不在方法中直接捕獲,而用throw語(yǔ)句將異常拋給上層的調(diào)用者。Throw語(yǔ)句就是來(lái)明確地拋出一個(gè)異常;首先你必需得到一個(gè)Throwable的實(shí)例句柄,通過(guò)參數(shù)傳到catch中,或者采用new操作符來(lái)創(chuàng)建一個(gè)。

2、什么是繼承?答:通過(guò)必要的說(shuō)明能夠?qū)崿F(xiàn)某個(gè)類(lèi)無(wú)需重新定義就擁有另一個(gè)類(lèi)的某些屬性和方法,并把這種關(guān)系稱為繼承,先定義的類(lèi)稱為父類(lèi),后定義的類(lèi)稱為子類(lèi),并且允許多層的繼承關(guān)系。

3、請(qǐng)簡(jiǎn)述重載和重寫(xiě)的區(qū)別?答:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫(xiě)Overriding是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱和參數(shù),我們說(shuō)該方法被重寫(xiě)(Overriding)。子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它而言,父類(lèi)中的定義如同被“屏蔽”了。如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類(lèi)型。

四、寫(xiě)出下面程序的運(yùn)行結(jié)果1、importjava.io.*;publicclassabc{

publicstaticvoidmain(Stringargs[]){

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

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

}}classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2)

{s1=str1;

s2=str2;}

publicStringtoString()

{returns1+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(intaa,intbb,intcc)

{

super(aa,bb,cc);

A=aa+bb+cc;

}

voidshow()

{

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

}

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

4、以下程序的輸出結(jié)果為_(kāi)Peteris17yearsold!________________。publicclassPerson{

Stringname;

intage;

publicPerson(Stringname,intage){

=name;

this.age=age;

}

publicstaticvoidmain(String[]args){

Personc=newPerson("Peter",17);

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

}}

5、以下程序的輸出結(jié)果為_(kāi)_課程號(hào):101課程名:ASP學(xué)分:3___________________。publicclassCourse{

privateStringcNumber;

privateStringcName;

privateintcUnit;

publicCourse(Stringnumber,Stringname,intunit){

cNumber=number;

cName=name;

cUnit=unit;

}

publicvoidprintCourseInfo(){

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

}}

classCourseTest{

publicstaticvoidmain(String[]args){

Coursec;

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

c.printCourseInfo();

}}

6、以下程序的輸出結(jié)果為_(kāi)_湯姆貓?bào)w重:20.0斤___________________。publicclassTom{

privatefloatweight;

privatestaticStringname;

publicvoidsetWeight(floatweight){

this.weight=weight;

}

privatevoidout(){

System.out.println(name+"體重:"+weight+"斤");

}

publicstaticvoidmain(String[]args){

T="湯姆貓";

Tomcat=newTom();

cat.setWeight(20);

cat.out();

}}

7、以下程序的輸出結(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("家庭住址:"+address);

System.out.print("電話:"+tel);

}}

classSonextendsFather{

Stringschool;

publicSon(Stringname,intage){

super(name,age);

}

voidout(){

super.out();

super.outOther();

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

}

publicstaticvoidmain(Stringargs[]){

Sonson=newSon("Tom",15);

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

son.school="九中";

son.tel="66123456";

son.out();

}}

8、下列程序的運(yùn)行結(jié)果是____12345_________________。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.publicclassSum{

publicstaticvoidmain(String[]args){

intj=10;

System.out.println("jis:"+j);

calculate(j);

System.out.println("Atlast,jis:"+j);

}staticvoidcalculate(intj){

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

j++;

System.out.println("jincalculate()is:"+j);

}}輸出結(jié)果為:jis:

(1)

10

jincalculate()is:

(2)

20

Atlastjis:

(3)

10

2.按要求填空abstractclassSuperAbstract{

voida(){…}

abstractvoidb();

abstractintc(inti);}interfaceAsSuper{

voidx();}abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper{publicvoidb(){…}

abstractStringf();}publicclassInheritAbstractextendsSubAbstract{

publicvoidx(){…}

publicintc(inti){…}

publicStringf(){…}

publicstaticvoidmain(Stringargs[]){

InheritAbstractinstance=newInheritAbstract();

instance.x();

instance.a();

instance.b();

instance.c(100);

System.out.println(instance.f());

}}在以上這段程序中:抽象類(lèi)有:SuperAbstract和(1)(寫(xiě)出類(lèi)名)SuperAbstract非抽象類(lèi)有:(2)(寫(xiě)出類(lèi)名)InheritAbstract接口有:(3)(寫(xiě)出接口名)AsSuperAsSuper中的x()方法是

抽象

(4)

方法,所以在InheritAbstract中必須對(duì)它進(jìn)行

覆蓋和實(shí)現(xiàn)

(5)

3.按注釋完成程序publicclassLeaf{

privateinti=0;//此屬性值用于檢驗(yàn)

Leafincrement(){//定義方法increment(),返回值是Leaf類(lèi)的對(duì)象

i++;

return

this

(1)

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

}

voidprint(){

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

}

publicstaticvoidmain(Stringargs[]){

Leafx=

newLeaf()

(2)

;//創(chuàng)建Leaf類(lèi)的對(duì)象x

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

}//多次調(diào)用方法increment(),返回的都是x的地址,i值表示調(diào)用次數(shù)}輸出結(jié)果為i=

3(3)

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

Strings1=newString("abcde");

Strings2=newString("abcde");

booleanb1=s1.equals(s2);

booleanb2=s1==s2;

System.out.print(b1+"

"+b2);

u程序段執(zhí)行后,在命令行的輸出結(jié)果如何?答:Truefalsev解釋輸出(1)的結(jié)果的原因?略

2、閱讀下面的程序,并回答問(wèn)題(u問(wèn)3分,v問(wèn)3分,共6分)。importjava.io.*;publicclassTest{

publicstaticvoidmain(Stringargs[])throwsIOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System.in));

while(true){

Stringstr=buf.readLine();

if(str.equals("quit"))

break;

intx=Integer.parseInt(str);

System.out.println(x*x);

}

}

}編譯運(yùn)行上面的程序:u從鍵盤(pán)輸入10,回車(chē)后輸出的結(jié)果如何?答:100v從鍵盤(pán)輸入exit,回車(chē)后程序能正確執(zhí)行嗎?為什么?答:不能,略

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

importjava.awt.*;

importjavax.swing.*;

publicclassTextendsJFrame{

publicT(){

super("GridLayout");

Container

con=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);

setVisible(true);

}

publicstaticvoidmain(Stringargs[]){

newT();

}

}u畫(huà)圖表示程序運(yùn)行后的圖形界面。

略v如果程序通過(guò)實(shí)現(xiàn)某個(gè)接口處理按鈕的動(dòng)作事件,則該接口名為何?接口中的方法頭聲明如何?

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

java.util.*;publicclassT

{

publicstaticvoidmain(Stringargs[])

{

Setset=newTreeSet();

set.add(newInteger(10));

set.add(newInteger(5));

set.add(newInteger(15));

set.add(newInteger(5));

set.add(newInteger(10));

System.out.println("size="+set.size());

Iterator

it=set.iterator();

while(it.hasNext()){

System.out.print(it.next()+"

");

}

}

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

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

5、閱讀下面的程序,并回答問(wèn)題(u問(wèn)3分,v問(wèn)3分,共6分)。importjava.io.*;publicclassTest{

publicstaticvoidmain(Stringargs[])throwsIOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System.in));

while(true){

String

str=buf.readLine();

if(str.equals("quit"))

break;

intx=Integer.parseInt(str);

System.out.println(x*x);

}

}

}編譯運(yùn)行上面的程序:u從鍵盤(pán)輸入5,回車(chē)后輸出的結(jié)果如何?答:25v從鍵盤(pán)輸入quit,回車(chē)后程序執(zhí)行情況如何?答:終止應(yīng)用程序的運(yùn)行

六、程序設(shè)計(jì)題1、按以下要求編寫(xiě)程序(1)創(chuàng)建一個(gè)Rectangle類(lèi),添加width和height兩個(gè)成員變量(2)在Rectangle中添加兩種方法分別計(jì)算矩形的周長(zhǎng)和面積(3)編程利用Rectangle輸出一個(gè)矩形的周長(zhǎng)和面積解答: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.println("周長(zhǎng)是:"+rect.getLength());

System.out.println("面積是:"+rect.getArea());

}}

2、編寫(xiě)一個(gè)Frame框架應(yīng)用程序,要求如下:(1)在窗口設(shè)置兩個(gè)菜單“文件”、“編輯”(2)在“文件”菜單里添加三個(gè)菜單項(xiàng)“打開(kāi)”、“保存”、“關(guān)閉”(3)在“編輯”菜單里添加兩個(gè)菜單項(xiàng)“復(fù)制”、“粘貼”(4)點(diǎn)擊關(guān)閉菜單項(xiàng)時(shí),使程序關(guān)閉。解答:importjava.awt.Color;importjava.awt.Frame;importjava.awt.Menu;importjava.awt.MenuBar;importjava.awt.MenuItem;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;

/*

*主窗體

*/publicclassMyFrameextendsFrame{

privatestaticfinallongserialVersionUID=6895463895656626294L;

privateFramefrmMain;

//窗體

MenuBarmb;

//菜單欄

MenumnuFile;

//"文件"菜單

MenumnuEdi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論