java程序設(shè)計試題庫_第1頁
java程序設(shè)計試題庫_第2頁
java程序設(shè)計試題庫_第3頁
java程序設(shè)計試題庫_第4頁
java程序設(shè)計試題庫_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Oava語言程序設(shè)計基礎(chǔ)教程》

練習(xí)思考題參考答案

第1章Java程序設(shè)計概述

K1單項選擇題

1.編譯JavaApplication源文件將產(chǎn)生相應(yīng)得字節(jié)碼文件,擴展名就是什么

A、、javaooo?B、、c1ass

0c、、htmbooD、、exe

解答:B

2.Java語言具有許多優(yōu)點與特點,下列選項中,哪個反映了Java中”一次編

譯,隨處運行”得特點.

4、簡單性。平臺無關(guān)性

C、面向?qū)ο笮?8D、安全性

解答:B

3.Java語言具有許多優(yōu)點與特點,下列選項中,哪個反映了Java中并行機制得

特點。

?A、多線程°sB、平臺無關(guān)性

C、面向?qū)ο笮浴!癉、安全性

解答:A

4o在Java語言中,下列哪些語句關(guān)于內(nèi)存回收得說明就是正確得?

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

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

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

D.內(nèi)存回收程序可以在指定得時間釋放內(nèi)存對象

解答:B

5.一個Java源文件中最多只能有多少個public類。

4、1個。:B、2個

C、3個。D、任意多個

解答:A

6O下面哪一個不就是Java語言所具有得特點。

A、沒有全局變量,在類得定義外部沒有任何得變量定義;

。:B、不直接支持指針操作,而使用更安全得引用類型;

C、支持子類對父類得多繼承;

D、具有自動垃圾收集功能;

解答:C

7。下面哪一個不就是Java開發(fā)工具包JDK得組成部分.

4、Java得編譯器;

B、Java得解釋器;。

9、Java得API繼承類庫;

?D、Eelipse開發(fā)工具;

解答:C

8oJDK提供得編譯器就是()。

?A、java、exe??。B、javac、exe

C、javap、exe”。D^javaw、exe

解答:B

9o作為Java應(yīng)用程序入口得main方法,其聲明格式可以就是()

A、publicvoidmain(String[]args)

B、pub1icstaticvoidmain(String[]args)

C、publicstaticvoidMain(String*args)

D、publicintmain(String[]args)

解答:B

10.下列說法正確得就是(A)

A、JAVA程序得main方法必須寫在類里面

B、JAVA程序中可以有多個main方法

C、JAVA程序中類名必須與文件名一樣

D、JAVA程序得main方法中如果只有一條語句,可以不用{}(大括號)

括起來

11。下列哪些語句關(guān)于Java內(nèi)存回收得說明就是正確得?(B)

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

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

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

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

I、2填空題

1、開發(fā)與運行Java程序需要經(jīng)過得三個主要步驟為、

與。

解答:編輯源程序、編譯生成字節(jié)碼與解釋運行字節(jié)碼

2、使用Java編譯器javac、exe編譯源文件得到字節(jié)碼文件。

3、Java應(yīng)用程序必須通過Java解釋器___JAVA—、exe來解釋執(zhí)行其字節(jié)碼文件。

4、如果Java源文件中有一個類就是publie類,那么源文件得名字必須與這個類得名

字完全—相同,擴展名就是、java。

5、Java應(yīng)用程序總就是從主類得main方法開始執(zhí)行。

1\3簡答題

13、簡述Java程序得開發(fā)過程?

(1)使用一個文字編輯器,編寫源文件.(2)使用java編譯器,編譯源文件得到字節(jié)碼文件。

(3)解釋運行字節(jié)碼,分兩種java應(yīng)用程序必須通過java解釋器來解釋執(zhí)行,java小應(yīng)用

程序必須使用解釋器與瀏覽器運行程序.

1、什么就是Java虛擬機?為什么Java被稱作就是“平臺無關(guān)得編程語言”?

解答:

Java虛擬機就是一個可以執(zhí)行Java字節(jié)碼得虛擬機進(jìn)程。Java源文件被編譯成能被J

ava虛擬機執(zhí)行得字節(jié)碼文件。

Java被設(shè)計成允許應(yīng)用程序可以運行在任意得平臺,而不需要程序員為每一個平臺單

獨重寫或者就是重新編譯。Java虛擬機讓這個變?yōu)榭赡?,因為它知道底層硬件平臺得指

令長度與其她特性。

3、Java語言得關(guān)鍵特點有哪些?

解答:

簡單性

平臺無關(guān)性

面向?qū)ο笮?/p>

安全性

分布式

多線程

動態(tài)性

1、4綜合題

第2章Java基本得程序設(shè)計結(jié)構(gòu)

2、1單項選擇題

1、下面哪一項在java中就是非法得標(biāo)識符?()

A、$uSer*9

B、point

C、You&me

D、_endline

解答:C

2、若有定義inta=9,b=6;那么a〉b得值就是:()

A、0883B、1

C、faIse。D、true

解答:D

3、執(zhí)行完以下代碼int[]x=newint[25]后似下說明正確得就是:()

A、*[24]為02B、x[24]未定義

C、x[25]為0。D、x[0]為空

解答:A

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

int[]x={2,3,-8,7,9};

intmax=x[0];

for(inti=l;i<x、1ength;i++){

if(x[i]>max)

max=x[i];

}

System>out>printIn(max);

A-.2°B、-8°

C、7"e"D、9

解答:D

5、設(shè)x=l,y=2,z=3,則表達(dá)式y(tǒng)+=z--/++x得值就是

A、3°eeB、3、5

C、4eeeoD、5

解答:A

5、執(zhí)行System、out>println(5/4),這條代碼得輸出結(jié)果就是()

A、B、1、25

C、1、5。。D、0

解答:A

6、下列語句有錯誤得就是:()

A、int[]a;匕B、int[]b=newint[10];

C、intc[]=newint[];2、intd[]=null;

解答:C

7、下列語句有錯誤得就是:()

A、inta[][]=newint[5][5];上、int[][]b=newint[5][5];

C、int口c[]=newint[5][5];D、int[][]d=newint[5,5];

解答:D

8、下列哪一個不屬于Java中得8種基本數(shù)據(jù)類型()

A、double;*、char;

C、int;D、String;

解答:D

9、以下數(shù)據(jù)類型存儲空間最大得就是()o

(A)byte(B)1ong(C)f1oat(D)char

解答:B

10、System>out、println(”5"+2);得輸出結(jié)果應(yīng)該就是()。

A52B7

C2D5

答案:A

11.在類得定義中可以有兩個同名方法,每個方法得參數(shù)不同,這種現(xiàn)象稱為方法

(D)o

(A)封裝(B)繼承(C)覆蓋(D)重載

12.java中定義字符串Strings="pzhu",下面操作可以取得字符串長度得就是

()。

4、s>length()B、s>lengthC、s>size()D、

1ength(s)

解答:A

13。指出下列程序運行得結(jié)果(B)(很難)

publicclassExamp1e{

Stringstr=newString("goodn);

char[]ch={7a"c1};

pub1icstaticvoidmain(Stringargs[]){

Examp1eex=newExample();

ex、change(ex、str,ex>ch);

System>out>print(ex、str+“and”);

System>out>print(ex、ch);

}

publievoidchange(Stringstr,charch[]){

str="testok";

ch[0]=,g/;

}

)

A、goodandabc

B、goodandgbe

C、testokandabe

D、testokandgbc

14.下面代碼得運行結(jié)果為:(C)(較難)

importjava>io、*;

importjava>uti1>*;

publicclassfoo{

publicstaticvoidmain(String□args){

Strings;

System>out>print1n("s=n+s);

)

)

A代碼得到編譯,并輸出“s=”

B代碼得到編譯,并輸出“s=nul1”

C由于Strings沒有初始化,代碼不能編譯通過

D代碼得到編譯,但捕獲到NullPointException異常

15.關(guān)于以下程序段,正確得說法就是(C)

1.Stringsl="abc"+”def”;

2oStrings2=newString(sl);

3.if(sl==s2)

4.System>out>printinC<==sueceeded");

5.if(sl>equaIs(s2))

6oSystem>out、printin("、equals()succeeded");

A、行4與行6都將執(zhí)行

B、行4執(zhí)行,行6不執(zhí)行

C、行6執(zhí)行,行4不執(zhí)行

D、行4、行6都不執(zhí)行

16oJavaapplication中得主類需包含main方法,main方法得返回類型就是

什么?(D)A、intB>float

C、doubleD、void

17o為一個boolean類型變量賦值時,可以使用(B)方式

A、boolean=1;

B、booleana=(9〉=10);

C、boo1eana="真";

D、booleana==faIse;

18.表達(dá)式(11+3*8)/4%3得值就是(D)

A、31B、0C、1D、2

19o運算符優(yōu)先級別排序正確得就是(A)(太難)

A、由高向低分別就是:()、!、算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符;

B、由高向低分別就是:()、關(guān)系運算符、算術(shù)運算符、賦值運算符、!、邏輯運算符;

C、由高向低分別就是:()、算術(shù)運算符、邏輯運算符、關(guān)系運算符、!、賦值運算符;

D、由高向低分別就是:()、!、關(guān)系運算符、賦值運算符、算術(shù)運算符、邏輯運算符;

20.下列值不為true得表達(dá)式有(C).

A、"john”=="johnH

B、"john"、equals(njohn”)

C、"john“=“john”

D、“john"、equaIs(newString("john"))

21、下面得方法,當(dāng)輸入為2得時候返回值就是多少?(D)(很難)

publicstaticintgetValue(inti){

intresult=0;

switch(i){

case1:

resu1t=result+i;

case2:

resu1t=result+i*2;

case3:

result=resu1t+i*3;

returnresu1t;

AOB2C4

D10

答案:D

解析:注意這里case后面沒有加break,所以從case2開始一直往下運行。

22、下面有關(guān)for循環(huán)得描述正確得就是(A)

A、for循環(huán)體語句中,可以包含多條語句,但要用大括號括起來

B、for循環(huán)只能用于循環(huán)次數(shù)己經(jīng)確定得情況

C、在for循環(huán)中,不能使用break語句跳出循環(huán)

D、for循環(huán)就是先執(zhí)行循環(huán)體語句,后進(jìn)行條件判斷

23、score就是一個整數(shù)數(shù)組,有五個元素,已經(jīng)正確初始化并賦值,仔細(xì)閱讀下面代

碼,程序運行結(jié)果就是(B)

temp=score[0];

for(intindex=1;index<5;index++){

if(score[index]<temp){

temp=score[index];

}

)

A、求最大數(shù)B、求最小數(shù)C、找到數(shù)組最后一個元素D、編譯出錯

26、

2、2填空題

1、Java語言就是一種完全得一面向?qū)ο骭程序設(shè)計語言

2、Stringsi="China";intn=s1、1ength();n得值為_5_

3、在Java語言中,基本數(shù)據(jù)類型包括:____整數(shù)類型、—浮點類型、字符

類型—與—布爾類型

17、在Java得基本數(shù)據(jù)類型中,char型采用Unicode編碼方案海個Unicode碼占用—

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

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

18、設(shè)x=2,則表達(dá)式(x++)/3得值就是_0—.

20、設(shè)有數(shù)組定義:

intMylntArray[]={10,20,30,40,50,60,70);

則執(zhí)行以下幾個語句后得輸出結(jié)果就是:120.

TntMyIntArray口={10,20,30,40,50,60,70];

ints=0;

sfor(inti=0;i〈MylntArray、1ength;i++)

“if(i%2==1)

。。s+=MyIntArray[i];

System>out、println(s);

21、數(shù)組對象得長度在數(shù)組對象創(chuàng)建之后,就—不會改變。數(shù)組元素得下標(biāo)總就

是從—0開始。

22、對于數(shù)組int[][]t={{1,2,3},{4,5,6})來說,t、1ength等于—2—,t[0]>

1ength等于___3。

2、3簡答題

1、Java得基本數(shù)據(jù)類型有哪8種,每種類型得內(nèi)存空間分別就是多少.

2、4綜合題

26、編程計算10-20得整數(shù)得平方值,將結(jié)果保存在一個數(shù)組中。

27、編寫一個程序使之從鍵盤讀入10個整數(shù)存入整型數(shù)組a中,并輸出這10個整數(shù)得

最大值與最小值。

importjava>util、Scanner;

publicclasslianxi30{

publicstaticvoidmain(Stringargs[]){

3Scannertemp;

afloat[]sum=newfloat[11];

3floatmax,min;

sfor(inti=0;i〈10;i++)(

66ystem、out、print1n(〃請輸入第一個數(shù)字(回車結(jié)束):“);

3temp=newScanner(System>in);

Stringa=temp>nextLine();

esum[i]=Integer>parseInt(a);//獲取輸入得字符串

g}

max=sum[0];

min=sum[0];

gfor(intj=1;j<10;j++)

b{

4f(max〈sum[j])

Bsmax=sum[j];

3eeIseif(min〉sum[j])

semin二sum[j];

°)

System>out、println(max);

3System、out>printin(min);

)

)

31、如果我國經(jīng)濟以每年10%得速度保持穩(wěn)定增長,請編寫一個程序,計算每年達(dá)到多

少,多少年可以實現(xiàn)總量翻兩番.

classexA4_l{

publicstaticvoidmain(Stringargs[]){

inta=0;

doublei=0>10,sum=l;

while(sum<=4){

sum=(i+l)*sum;

a++;

System>out、print1n("第"+a+"年達(dá)到"+sum);

}

System>out、print1n("需要"+a+"年實現(xiàn)兩番)

)

)

第3章類與對象

3、1單項選擇題

1、下列關(guān)于變量得敘述哪個就是錯得?()

A、實例變量就是類得成員變量。

B、在方法中定義得局部變量在該方法被執(zhí)行時創(chuàng)建。

C、實例變量用關(guān)鍵字static聲明。

D、局部變量在使用前必須被初始化。

解答:C

2、在Java語言中,下列哪個包就是編譯器自動導(dǎo)入得?()

A、java>applet”近、java>lang

C、java>io?2、java>awt

解答:B

6、不允許作為類及類成員得訪問控制符得就是()。

A、pub1ic?B、private

C、static="sD、protected

解答:C

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

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

A、staticvoidmethod()B、publicvoidmethod()

C、fina1voidmethod()“D、abstractvoidmethod()

解答:A

8、。可以在下面代碼段pointx處寫入得就是?()

//pointx

publicclassInteresting{

//dosomething

}

A、oStringstr;

B、staticintP1=3、14;

C、opublieclassMyClass{//dootherthing...}

D、importjava>awt、*;

解答:D

9、Java提供得許多類在不同得包中,使用下面哪個語句可以引入包中得類。

A、package“B、include

C、import。=D、add

解答:c

H>已知A類被打包在packageA,B類被打包在packageB,且B類被聲明為

pub1ic,且有一個成員變量x被聲明為protected控制方式。C類也位于package

A包,且繼承了B類。則以下說法正確得就是:()

A、A類得實例不能訪問到B類得實例

B、A類得實例能夠訪問到B類一個實例得x成員

C、C類得實例可以訪問到B類一個實例得x成員

D、C類得實例不能訪問到B類得實例

解答:C(太難)

13、在Java中,關(guān)于final關(guān)鍵字得說法正確得就是()

A、如果修飾變量,則一旦賦了值,就等同一個常量。

B、如果修飾類,則該類只能被一個子類繼承。

C、如果修飾方法,則該方法不能在子類中被覆蓋。

D、如果修飾方法,則該方法所在得類不能被繼承。

解答:A,C

14、關(guān)于構(gòu)造方法以下說法錯誤得就是(D)。

(A)構(gòu)造方法名必須與類名一致(B)構(gòu)造方法可以重載

(C)構(gòu)造方法就是通過new來調(diào)用(D)每個類都必須編寫構(gòu)造方法代碼

15、關(guān)于類得定義以下說法錯誤(B)。

(A)類定義使用class關(guān)鍵字(B)每個類中必須有一個main方法

(C)一個包可以包含多個類(D)java中所有類都就是Object類得子類

16、在創(chuàng)建對象時必須(C)

A)先聲明對象,然后才能使用對象

B)先聲明對象,為對象分配內(nèi)存空間,然后才能使用對象

C)先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象

D)上述說法都對

17、在調(diào)用方法時,若要使方法改變實參得值,可以(B)

A)用基本數(shù)據(jù)類型作為參數(shù)B)用對象作為參數(shù)

C)A與B都對D)A與B都不對

18、關(guān)于以下程序代碼得說明正確得就是(D)

classHasStatic{

叩rivatestaticintx=100;

epubliestaticvoidmain(Stringargs[]){

HasStatichs1=newHasStatic();

shs1>x++;

3HasStatichs2=newHasStatic();

hs2、x++;

□hs1=newHasStatic();

。hs1>x++;

eHasStatic>x--;

oSystem>out、prin11n(“x="+x);

°}

)

A、5行不能通過編譯,因為引用了私有靜態(tài)變量

B、10行不能通過編譯,因為x就是私有靜態(tài)變量

C、程序通過編譯,輸出結(jié)果為:x=103

D、程序通過編譯,輸出結(jié)果為:x=102

19、以下關(guān)于構(gòu)造函數(shù)得描述錯誤得就是(A)。

A、構(gòu)造函數(shù)得返回類型只能就是void型。

B、構(gòu)造函數(shù)就是類得一種特殊函數(shù),它得方法名必須與類名相同。

C、構(gòu)造函數(shù)得主要作用就是完成對類得對象得初始化工作。

D、一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造函數(shù)。

20、Java中,在如下所示得Test類中,共有(C)個構(gòu)造方法。

publicc1assTest{

privateintx;

pub1icTest(){x=35;}

publicvoidTest(doublef){This>x=(int)f;}

publicTest(Strings){}

)

A、OB、IC、2D、3

21、在Java中,關(guān)于構(gòu)造方法,下列說法錯誤得就是(C)

A、構(gòu)造方法得名稱必須與類名相同

B、構(gòu)造方法可以帶參數(shù)

C、構(gòu)造方法不可以重載

D、構(gòu)造方法絕對不能有返回值

22、在Java語言中,下列關(guān)于類得繼承得描述,正確得就是(B)。

A、一個類可以繼承多個父類

B、一個類可以具有多個子類

C、子類可以使用父類得所有方法

D、子類一定比父類有更多得成員方法

23、分析選項中關(guān)于Java中this關(guān)鍵字得說法正確得就是(A)

A、this關(guān)鍵字就是在對象內(nèi)部指代自身得引用

B、this關(guān)鍵字可以在類中得任何位置使用

C、this關(guān)鍵字與類關(guān)聯(lián),而不就是與特定得對象關(guān)聯(lián)

D、同一個類得不同對象共用一個this

24、在Java接口中,下列選項中有效得方法聲明就是(A)。

A、publicvoidaMethod();

B、pub1icfina1voidaMethod();

C、protectedvoidaMethod();

D、privatevoidaMethod();

25、下列選項中關(guān)于Java中super關(guān)鍵字得說法正確得就是(A)。

A、super關(guān)鍵字就是在子類對象內(nèi)部指代其父類對象得引用

B、super關(guān)鍵字不僅可以指代子類得直接父類,還可以指代父類得父類

C、子類通過super關(guān)鍵字只能調(diào)用父類得方法,而不能調(diào)用父類得屬性

D、子類通過super關(guān)鍵字只能調(diào)用父類得屬性,而不能調(diào)用父類得方法

3、2填空題

1、在Java程序中,通過類得定義只能實現(xiàn)單重繼承,但通過接口得定義

可以實現(xiàn)多多重繼承O

2、一抽象(abstract)方法就是一種僅有方法頭,沒有具體方法體與操作實現(xiàn)得

方法,該方法必須在抽象類之中定義fina1方法就是不能被當(dāng)前類得子類重新定

義得方法。

3、面向?qū)ο蟪绦蛟O(shè)計得三個特征就是封裝、多態(tài)、繼承

4、Java就是面向?qū)ο笳Z言,類就是客觀事物得一抽象—,而對象就是類得一實例0

5、如果在子類中想使用被子類隱藏得父類成員變量或方法,就可以使用關(guān)鍵字—sup

er.

6、Java中有一種叫作構(gòu)造方法一得特殊方法用來對類得對象成員進(jìn)行初始化。

7、JAVA語言中提供了兩種類型得字符串類來處理字符串,它們就是—String.與一

_StringBuffer類

8、Java語言中,所有得類都就是—0bject得子類,Java得窗口通常就是JFra

me_得子類,—抽象一類只能定義但不能被實例化,—最終一類不能被繼承

9、一般Java程序得類體由兩部分組成:一部分就是—屬性一,另一部分就是_方法.

10、分別用_clas5_關(guān)鍵字來定義類,用一new—關(guān)鍵字來分配實例存儲空間。

11>Java中類成員得限定詞有以下幾種:___private____,public_____,

protected______,_缺省__?其中,_publie—得限定得范圍最大.類中限定為_p

rivate_得成員,只能被這個類本身內(nèi)部訪問。

12、Java類中,如果類得定義者沒有顯式得定義任何構(gòu)造方法,系統(tǒng)將自動提供一個—

無參默認(rèn)—構(gòu)造方法.

13、在子類中定義與父類得相同得方法,若在多個子類中定義相同得方法,則可以調(diào)用不

同子類中得相同方法而實現(xiàn)不同得功能,這實現(xiàn)了程序運行時得多態(tài)。

3、3簡答題

1、簡單闡述方法得重載與方法得重寫之間得區(qū)別

解答:

重寫就是子類得方法覆蓋父類得方法,要求方法名與參數(shù)都相同

重載就是在同一個類中得兩個或兩個以上得方法,擁有相同得方法名,但就是參數(shù)卻不

相同

2、簡述實例變量與類變量得區(qū)別。

解答:類變量也叫靜態(tài)變量,也就就是在變量前加了static得變量;實例變量也叫對

象變量,即沒加static得變量;

區(qū)別在于:類變量就是所有對象共有,其中一個對象將它值改變,其她對象得到得就就

是改變后得結(jié)果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其她對象;

2、簡述實例方法與類方法得區(qū)別

解答:實例方法可以對當(dāng)前對象得實例變量進(jìn)行操作,也可以對類變量進(jìn)行操作,實

例方法由實例對象調(diào)用。但類方法不能訪問實例變量,只能訪問類變量.類方法可以由類名直

接調(diào)用,也可由實例對象進(jìn)行調(diào)用。類方法中不能使用this或super關(guān)鍵字。

3、面向?qū)ο蟮萌齻€基本特征就是什么,分別簡單介紹每個特征。

解答:三大特性就是:封裝,繼承,多態(tài)。

封裝性就就是把對象得屬性與服務(wù)結(jié)合成一個獨立得單位,并盡可能隱蔽對象得內(nèi)部

細(xì)節(jié)。

特殊類得對象擁有其一般類得全部屬性與服務(wù),稱作特殊類對一般類得繼承.

對象得多態(tài)性就是指在一般類中定義得屬性或服務(wù)被特殊類繼承之后,可以具有不同

得數(shù)據(jù)類型或表現(xiàn)出不同得行為。這使得同一個屬性或服務(wù)在一般類及其各個特殊類中具

有不同得語義.

4、簡單闡述成員變量與局部變量得區(qū)別.

解答:

1)成員變量在整個類內(nèi)都有效,局部變量只在定義它得方法內(nèi)有效.

2)成員變量又分為實例成員變量(簡稱實例變量)與類變量(也稱靜態(tài)變量),如果成員變

量得類型前面加上關(guān)鍵字static,這樣得成員變量稱為類變量或靜態(tài)變量。

3)如果局部變量得名字與成員變量得名字相同,則成員變量被隱藏,也就就是說,這個

成員變量在這個方法內(nèi)暫時失效.這時如果想在該方法內(nèi)使用成員變量,必須使用關(guān)鍵字th

iSo

5、簡述對象得引用與實體。

解答:當(dāng)用類創(chuàng)建一個對象時,類中得成員變量被分配內(nèi)存空間,這些內(nèi)存空間稱為該

對象得實體,而對象中存放著引用,以確保實體由該對象操作使用。沒有實體得對象稱為空

對象,空對象不能使用,即不能讓一個空對象去調(diào)用方法產(chǎn)生行為.

6、簡述this關(guān)鍵字得意義,以及它在成員方法與構(gòu)造方法中如何使用。

解答:this就是Java得一個關(guān)鍵字,表示某個對象。this可以出現(xiàn)在實例方法與構(gòu)造方

法中,但不可以出現(xiàn)在類方法中.this可以出現(xiàn)在實例方法與構(gòu)造方法中,但不可以出現(xiàn)在

類方法中。this關(guān)鍵字出現(xiàn)在類得構(gòu)造方法中時,代表使用該構(gòu)造方法所創(chuàng)建得對象.實例

方法必須通過對象來調(diào)用,當(dāng)this關(guān)鍵字出現(xiàn)在類得實例方法中時,代表正在調(diào)用該方法得

當(dāng)前對象.

成員函數(shù)中定義了與成員變量中相同得變量時,引用成員變量要用this;構(gòu)造函數(shù)中調(diào)

用同一個類得其她構(gòu)造函數(shù)時用thiSo

7、簡單描述Java得參數(shù)傳值中得兩種方式,基本數(shù)據(jù)類型參數(shù)得傳值與引用類型參數(shù)

得傳值?

解答:在基本數(shù)據(jù)類型參數(shù)得傳值中,基本數(shù)據(jù)類型得參數(shù)向該參數(shù)傳遞得值得級別不

可以高于該參數(shù)得級別.

在引用類型參數(shù)得傳值中Java得引用類型數(shù)據(jù)包括對象、數(shù)組與接口,當(dāng)參數(shù)就是引用

類型時,“傳值”傳遞得就是變量得引用而不就是變量所引用得實體。如果改變參數(shù)變量所引

用得實體,就會導(dǎo)致原變量得實體發(fā)生同樣得變化,但就是如果改變參數(shù)得引用不會影響向

其傳值得變量得引用。

8、基本數(shù)據(jù)類型與對象作為參數(shù)傳遞得不同?

解答:

(1)基本數(shù)據(jù)類型作為參數(shù)在方法中傳遞得就是值傳遞。

(2)對象就是引用傳遞,當(dāng)對象作為參數(shù)傳遞時,傳遞得就是對象得地址.

3、4綜合題

1、定義一個“點”(Point)類用來表示三維空間中得點,類體得成員變量x,y,z分

別表示三維空間得坐標(biāo)。類體中具有如下成員方法得定義:

1)構(gòu)造方法Point。可以生成具有特定坐標(biāo)得點對象.

2)setX(),setY(),setZ()為可以設(shè)置三個坐標(biāo)得方法。

3、)getDistance()為可以計算該點距離原點距離平方得方法.

解答:

classPoint{

doublex,y,z;

6Point(doub1e_x,double_y,double_z)

bX=—X;

°y=_y;

z=_z;

)

voidsetX(doub1e_x){

3X=_X;

}

voidsetY(double_y){

°y=_y;

voidsetZ(doub1e_z){

z=_z;

}

doublegetDistance(){

return(x*x+y*y+z*z);

}

2、編寫一個Java應(yīng)用程序Test類,實現(xiàn)成員方法max(a,b)得重載.具體要求如下:

a)編寫voidmax(inta,intb)成員方法,對兩個整數(shù)進(jìn)行大小得比較,輸出打印較大

得那個整數(shù)。

b)。編寫voidmax(floata,f1oatb)成員方法,對兩個f1oat數(shù)進(jìn)行大小得比較,輸出打印

較大得那個float數(shù)。

c)編寫voidmax(doublea,doubleb)成員方法,對兩個doub1e數(shù)進(jìn)行大小

得比較,輸出打印較大得那個double數(shù)。

publicclassTest{

voidmax(inta,intb){

eSystem>out、printIn(a>b?a:b);

)

voidmax(f1oata,floatb){

^System>out>println(a>b?a:b);

)

woidmax(doublea,doubleb){

System>out>println(a>b?a:b);

6)

叩ubliestaticvoidmain(String[]args){

“Testt=newTest();

M、max(3,4);

°)

)

3、編寫一個矩形類對數(shù)學(xué)中得矩形進(jìn)行抽象描述,并具有方法可以計算矩形得周長與面積,

具體分為以下三個子任務(wù)完成。

(1)創(chuàng)建Rectangle類,添加屬性width、height,并定義構(gòu)造方法Rectangle(double

_width,double_height);

(2)在Rectangle類中添加兩種方法putCireum()與putArea()分別計算矩形得周

長與面積;

(3)編程利用Rectangle對象輸出一個30*40得矩形得周長與面積。

解答:

pub1icclassTestRectang{

opub1icstaticvoidmain(String[]args){

s//TODOAuto-generatedmethodstub

。Rectang1erecti=newRectangle(20,30);

oSystem、out>print1n(rectl>putArea());

System、out>printIn(rectl>putCircum());

°}

}

c1assRectangle{

doublewidth,height;

Rectang1e(){

。width=0;

。。height=0;

)

Rectangle(double_width,double_height){

「width=_width;

。height=_height;

6}

3doubleputArea(){

。returnwidth*height;

°}

doubleputCircum(){

。return2*(width+height);

}

)

第4章繼承、接口與內(nèi)部類

4、1單項選擇題

1、Java中用于定義接口得關(guān)鍵字就是()

A、importB、package

C、c1assooD>interface

解答:D

2、以下關(guān)于abstract得說法,正確得就是()

A、abstract只能修飾類

B>abstract只能修飾方法

C、abstract類中必須有abstract方法

D、abstarct方法所在得類必須用abstract修飾

解答:D

3、下列哪種說法就是正確得()

A、私有方法不能被子類覆蓋。

B、子類可以覆蓋超類中得任何方法。

C、覆蓋方法可以聲明自己拋出得異常多于那個被覆蓋得方法。

D、覆蓋方法中得參數(shù)清單必須就是被覆蓋方法參數(shù)清單得子集。

解答:A

4、關(guān)于類繼承得說法,正確得就是()

A、Java類允許多重繼承

B、Java接口允許多繼承

C、接口與類都允許多繼承

D、接口與類都不允許多繼承

解答:B

5、關(guān)于抽象類,正確得就是。

A、抽象類中不可以有非抽象方法

B、某個非抽象類得父類就是抽象類,則這個子類必須重載父類得所有抽象方法

C、可以用抽象類直接去創(chuàng)建對象

D、接口與抽象類就是同一個概念

解答:B

8、抽象類A與抽象類B得定義如下:

abstractclassA{

abstractintgetinfo();

publicclassBextendsA{

eprivateinta=0;

publieintgetinfo(){

aoreturna;

}

epublicstaticvoidmain(Stringargs[]){

eBb=newB();

eSystem>out、println(b、getinfo());

)

關(guān)于上述代碼說明正確得就是()o

A、輸出結(jié)果為0-B、通過編譯但沒有輸出任何結(jié)果

C、第5行不能通過編譯oD、程序第2行不能通過編譯

解答:A

9、下面程序得運行結(jié)果就是

classex4_5_11_A{

protectedstaticintcount=0;

-publicex4_5_ll_A(){

笛ount++;

}

classex4_5_11_Bextendsex4_5_11_A{

publicex4(){

8count++;

)

classex4_5_11{

epublicstaticvoidmain(Stringargs[]){

gex4_5_11_Bx=newex4_5_11_B();

gSystem、out、printin("count="+x、count);

6)

}

A、count=1eoB、count=2

C、count=3ogD、count=4

解答:B

10、設(shè)有下面兩個類得定義:

classPerson

{s1ongid;//身份證號

Stringname;//姓名

}

classStudentextendsPerson

{intscore;//入學(xué)總分

intgetScore(){

returnscore;

)

)

e問:類Person與類Student得關(guān)系就是()

A、包含關(guān)系6°B、繼承關(guān)系

C、關(guān)聯(lián)關(guān)系。D、無關(guān)系,上述類定義有語法錯誤

解答:B

11、以下程序代碼錯誤得就是(B)o

abstractclassP{}

c1assAextendsP{}

abstractclassBextendsP{}

(A)Pp=newA();(B)Pp=newB();

(C)Aa=newA();(D)Pp=newP(){voidfoo(){}};

12、下面就是People與Child類得定義與構(gòu)造方法,每個構(gòu)造方法都輸出編號。在

執(zhí)行newChild("mike")得時候都有哪些構(gòu)造方法被順序調(diào)用?請選擇輸出結(jié)果(D)

classPeop1e{

Stringname;

publicPeop1e(){

System、out>print(1);

}

pub1icPeople(Stringname){

System>out>print(2);

this>name=name;

)

)

c1assChiIdextendsPeople{

Peoplefather;

pub1icChild(Stringname){

System>out>print(3);

this>name=name;

father=newPeop1e(name+":F'>

)

publicChi1d(){

System>out>print(4);

}

}

A312B32C432D132

13、選項中哪一行代碼可以替換題目中//addcodehere而不產(chǎn)生編譯錯誤?(A)

pub1icabstractclassMyClass{

pub1icintconstInt=5;

//addcodehere

publicvoidmethod(){

}

)

Apublicabstractvoidmethod(inta);

Bconstlnt=constlnt+5;

Cpublicintmethod();

Dpub1icabstractvoidanotherMethod(){}

15、以下哪項就是接口得正確定義?(D)

A、interfaceB{voidprint(){}}

溫馨提示

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

評論

0/150

提交評論