Java程序設(shè)計(jì)教程課后答案_第1頁(yè)
Java程序設(shè)計(jì)教程課后答案_第2頁(yè)
Java程序設(shè)計(jì)教程課后答案_第3頁(yè)
Java程序設(shè)計(jì)教程課后答案_第4頁(yè)
Java程序設(shè)計(jì)教程課后答案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java程序設(shè)計(jì)教程

第3版

課后答案

第一章

填空題:

l、Java源程序文件的擴(kuò)展名是_java_;Java源程序經(jīng)編譯后生成Java

字節(jié)碼文件,其擴(kuò)展名是_class_。

2、在Java語言中,將源代碼翻譯成」ava字節(jié)碼文件—時(shí)產(chǎn)生的錯(cuò)誤

稱為編譯錯(cuò)誤,而將程序在運(yùn)行中產(chǎn)生的錯(cuò)誤稱為運(yùn)行錯(cuò)誤。

3、一個(gè)Application源程序文件名為MyPro.java,假如運(yùn)用Sun公司

的Java開發(fā)工具SDK編譯該源程序文件并運(yùn)用其虛擬機(jī)運(yùn)行這個(gè)程序

的字節(jié)碼文件,應(yīng)當(dāng)依次執(zhí)行如下兩個(gè)叮囑:_javacMyPro.java_>_

javaMyPro_o

4.已知:inta=8,b=6;貝I」:表達(dá)式++a-b++的值為_3_。

5.已知:booleanbl=true,b2;貝ij:表達(dá)式!bl&&b2||b2的值為

_false_o

6.表達(dá)式(18-4)/7+6的運(yùn)算結(jié)果是_8_。

7、表達(dá)式5>2&&8<8&&23<36的運(yùn)算結(jié)果是_false_。

思索題:

1、源程序是什么?

答:源程序文件的三要素:

一、以package語句起先的包聲明語句為可選,若有,只能有一個(gè)且必

需是第一句,若沒有,此文件將放到默認(rèn)的當(dāng)前書目下

二、以import語句起先的類引入聲明語句,數(shù)量可以是隨意個(gè)

三、class定義和interface定義中,由public起先的類定義只能有一個(gè),

且要求源程序文件名必需與public類名相同,Java語言對(duì)字符的大小寫

敏感

2、編譯的作用是什么?

答:用Java語言編輯的源程序的執(zhí)行方法是接受先經(jīng)過編譯器編譯、再

利用說明器說明的方式來運(yùn)行的。

3、什么是Java的byte-codes,它的最大好處是什么?

答:Java源程序經(jīng)過編譯器編譯,會(huì)被轉(zhuǎn)換成一種我們將它稱之為“字

節(jié)碼(byte_codes)”的目標(biāo)程序?!白止?jié)碼”的最大特點(diǎn)便是可以跨平臺(tái)

運(yùn)行。

4、機(jī)器語言程序、高級(jí)語言程序以與可表示成Java字節(jié)碼程序之間的區(qū)

分是什么?

答:機(jī)器語言是二進(jìn)制編碼表示,可以用機(jī)器干脆運(yùn)行c高級(jí)語言是貼近

自然語言的,必需編譯或說明才能讓計(jì)算機(jī)運(yùn)行,并且程序運(yùn)行依靠該語

言處理系統(tǒng)??杀硎境蒵ava字節(jié)碼的程序必需經(jīng)過編譯產(chǎn)生字節(jié)碼程序,

java字節(jié)碼程序可以實(shí)現(xiàn)跨平臺(tái)運(yùn)行。

5、試簡(jiǎn)述J2SE、J2ME與J2EE的區(qū)分。

答:⑴JavaME——JavaMicroEdition,用于嵌入式Java消費(fèi)電子平

臺(tái),其內(nèi)存資源受限。不論是無線通訊、手機(jī)、PDA等小型電子裝置都可

接受其作為開發(fā)工具與應(yīng)用平臺(tái)。

(2)JavaSE-----JavaStandardEdition,是Java最通彳亍的版本,是用

于工作站、PC機(jī)的Java標(biāo)準(zhǔn)平臺(tái)。

⑶JavaEE-----JavaEnterpriseEdition,可擴(kuò)展的企業(yè)應(yīng)用Java平

臺(tái),它供應(yīng)了企業(yè)e-Business架構(gòu)與WebServices服務(wù),其開放的標(biāo)

準(zhǔn)和優(yōu)越的跨平臺(tái)實(shí)力使其適于開發(fā)大規(guī)模的、分布式聯(lián)網(wǎng)應(yīng)用程序以與

基于Web的應(yīng)用程序。

6、練習(xí)運(yùn)用閱讀器查看JavaAPI文檔。

7、SDK的編譯叮囑是什么?

答:javac

8、Java標(biāo)識(shí)符的命名有什么規(guī)定?

答:一、用字母、下劃線或邰”作為開頭字符,但數(shù)字不能作為變

量的開頭字符;

二、標(biāo)識(shí)符中間不能運(yùn)用空格;

三、不能運(yùn)用Java的操作符,如“+,,、“_,,、“*”、“/”等;

四、用戶自定義標(biāo)識(shí)符不能運(yùn)用Java的關(guān)鍵字;

五、嚴(yán)格區(qū)分大小寫,即:my_var和My_var將被認(rèn)為是兩個(gè)不同的標(biāo)

識(shí)符。

例:className>$member>.variable、vajnum、varObj1合

lvar>case、are&非法

9、如何正確地定義變量?

?變量命名遵循標(biāo)識(shí)符的命名規(guī)則

1約定:

■變量名是以小寫字母開頭,而類名是以一個(gè)大寫字母開頭的

■假如變量名包含了多個(gè)單詞,而每個(gè)單詞要組合在一起,則

在每個(gè)單詞的第一個(gè)字母大寫,比如isVisible。

■下劃線(_)可以處在變量的任何地方,但是一般地它只用在

標(biāo)識(shí)符常量中分別單詞,因?yàn)闃?biāo)識(shí)符常量的常量名都是用大

寫字母的,利用下劃線可以看得更清楚。

■一般來說,變量名命名要見名知義,不宜太簡(jiǎn)潔,但也不宜

過長(zhǎng)。

10、當(dāng)Java程序的表達(dá)式中有類型不符合的狀況時(shí),有哪些規(guī)則可以處

理類型轉(zhuǎn)換?

答:Java允許它的用戶有限度地進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換處理。轉(zhuǎn)換的方式

可分為“自動(dòng)類型轉(zhuǎn)換”和“強(qiáng)制類型轉(zhuǎn)換”兩種。

?L自動(dòng)類型轉(zhuǎn)換:整型、實(shí)型和字符型數(shù)據(jù)須要進(jìn)行混合運(yùn)算時(shí),首

先須要把不同類型的數(shù)據(jù)轉(zhuǎn)化為同一類型,然后才能進(jìn)行運(yùn)算。轉(zhuǎn)

換時(shí),系統(tǒng)將依據(jù)數(shù)據(jù)類型的表示范圍由小到大的轉(zhuǎn)換原則自動(dòng)進(jìn)

行。數(shù)據(jù)類型的表示范圍由小到大的依次依次為:

42.強(qiáng)制類型轉(zhuǎn)換:當(dāng)表示范圍大的數(shù)據(jù)類型要轉(zhuǎn)換成表示范圍小的

數(shù)據(jù)類型時(shí),須要用到強(qiáng)制類型轉(zhuǎn)換。

其次章

一、思索題:

1、什么是結(jié)構(gòu)化程序設(shè)計(jì)?

答:結(jié)構(gòu)化程序設(shè)計(jì)有三種基本的程序流程結(jié)構(gòu):依次、選擇、循環(huán)。

2、運(yùn)用while和do...while循環(huán)有什么不同?

答:dowhile循環(huán)語句功能與while語句類似,但dowhile語句的循

環(huán)終止推斷是在循環(huán)體之后執(zhí)行,即,它總是先執(zhí)行一次循環(huán)體,然后

推斷條件表達(dá)式的值是否為真,若為真,則接著執(zhí)行循環(huán)體;否則循環(huán)

到此結(jié)束。

與d。while語句所不同的是,while語句假如起先時(shí)的判別表達(dá)

式為假,則可能一次都不執(zhí)行循環(huán)體而干脆結(jié)束循環(huán)。

3、簡(jiǎn)述break和continue語句的區(qū)分

答:在Java中可以用break語句強(qiáng)行退出循環(huán),接著執(zhí)行循環(huán)外的

下一個(gè)語句

假如break出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán),則break語句只會(huì)退出當(dāng)

前的一層循環(huán),以for循環(huán)流程為例:在循環(huán)主體中有break語句時(shí),

當(dāng)程序執(zhí)行到break,即會(huì)退出循環(huán)主體,到循環(huán)外層接著執(zhí)行。

程序運(yùn)行到continue語句時(shí),就會(huì)停止循環(huán)體中剩余語句的執(zhí)

行,而回到循環(huán)的起先處接著執(zhí)行循環(huán)。

4、一維數(shù)組與二維數(shù)組如何聲明、賦值與輸出?

答:一維數(shù)組聲明語法格式如下:

type數(shù)組名[卜newtype[個(gè)數(shù)n]

對(duì)一維數(shù)組的賦值有如下方法:

1.在聲明時(shí)干脆賦值,語法格式為:

type數(shù)組名[卜{數(shù)值1,數(shù)值2,……,數(shù)值n};

2、在賦值聲明的時(shí)候,不須要給出數(shù)組的長(zhǎng)度,編譯器會(huì)視所給的數(shù)

值個(gè)數(shù)來確定數(shù)組的長(zhǎng)度,例如:

intmm[]={2,4,6,8,10,12,14,16,18,20}

若是對(duì)數(shù)組的元素進(jìn)行有規(guī)律的賦值,則可以運(yùn)用循環(huán)的方式進(jìn)行

要輸出訪用數(shù)組里的元素,可以通過利用其下標(biāo)來達(dá)到目的,只有

一個(gè)下標(biāo)值的數(shù)組就稱為一維數(shù)組。Java數(shù)組的下標(biāo)編號(hào)從0起先,

假如聲明的數(shù)組元素個(gè)數(shù)為n,則數(shù)組元素下標(biāo)的變更只能是

在Java中,因?yàn)閿?shù)組元素可以聲明成任何類型,因此假如一維數(shù)

組的元素還是一維數(shù)組的話,這種數(shù)組就被稱為二維數(shù)組。二維數(shù)組聲

明語法格式如下:

type數(shù)組名[][]=newtype[個(gè)數(shù)][個(gè)數(shù)];

對(duì)于二維數(shù)組元素的賦值,同樣可以在聲明的時(shí)候進(jìn)行:

例如:int$$即[]={{20,25,26,22},{23,24,20,28}};二維數(shù)組賦值與輸

出可以借助一維數(shù)組。

二、填空題

1、下面的程序運(yùn)行后,其輸出結(jié)果是_#*#*#_

publicclassYuedul{

publicstaticvoidmain(String[]args){

inti;

for(i=l;i<6;i++)

{

if(i%2==l){

System.out.printf'#");

continue;

}

System.out.printf'*");

System.out.println();

2、下面的程序經(jīng)運(yùn)行后,其輸出結(jié)果是(xl=10x2=6)

publicclassYuedu3{

publicstaticvoidmain(String[]args){

intx,y;

System.out.print(uxl=,'+add(4,6));

System.out.print(1,x2="+add(3,add(1,2)));

}

staticintadd(intx,inty)

/

I

returnx+y;

}

3、下面的程序經(jīng)運(yùn)行后,其輸出結(jié)果是_72—

publicclassYuedu4{

publicstaticvoidmain(String[]args){

System.out.print(fun(4));

}

staticintfun(intn)

|

intt;

if((n==O)||(n==l))

t=3;

else

t=n*fun(n-l);

returnt;

}

)

4、下面的程序經(jīng)運(yùn)行后,其輸出結(jié)果是_y=lX=O_

publicclassYuedul{

publicstaticvoidmain(String[]args){

intx,y;

x=y=O;

do{

y++;

x*=x;

}

while((x>0)&&(y>5));

System.out.printin(ny="+y+"x="+x);

}

}

第三章

一、思索題

1、類和對(duì)象之間的關(guān)系

答:對(duì)象是客觀世界中的某個(gè)具體事物。類是具有共同特性和行為的事

物的抽象,是一種特殊數(shù)據(jù)類型。在類中包含了數(shù)據(jù)和與數(shù)據(jù)有關(guān)的操

作(方法)。對(duì)象是類的實(shí)例。

2、舉例說明類(靜態(tài))成員的特點(diǎn)

答:1.特點(diǎn)一:靜態(tài)變量的值是共享。比如說A類中有個(gè)靜態(tài)變量V_A,

A類創(chuàng)建了兩個(gè)實(shí)例a,b。假如給實(shí)例a的變量V_A賦值,如a.V_A=lo

那么這時(shí)候查看實(shí)例b.V_A變量的值也為1,也就是說A對(duì)象實(shí)例

化的兩個(gè)類共享同一個(gè)變量值。

2.特點(diǎn)二:不須要對(duì)象實(shí)例化就可以運(yùn)用。比如A類中的靜態(tài)變量

V_A可以用A.V_A的形式運(yùn)用。

3、Java中的包和Windows的文件夾有什么關(guān)系?

答:書目層次結(jié)構(gòu)特殊類似,包對(duì)應(yīng)著Windows文件系統(tǒng)的書目層次

結(jié)構(gòu)。

4、類的成員的訪問權(quán)限和包的關(guān)系

答:類的成員的權(quán)限用權(quán)限關(guān)鍵字設(shè)置,類的成員的權(quán)限和包的關(guān)系如

下:

權(quán)限:Public、protected、默認(rèn)的同一包允許訪問。

權(quán)限:private同一包也不允許訪問。

權(quán)限:Public、protected的不同包子類允許訪問

權(quán)限:默認(rèn)、private的不同包子類不允許訪問

5、方法的重載和覆蓋的區(qū)分

答:重載與覆蓋的區(qū)分

1、方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是

同一個(gè)類中方法之間的關(guān)系,是水平關(guān)系。

2、覆蓋只能由一個(gè)方法,或只能由一對(duì)方法產(chǎn)生關(guān)系;方法的重載是

多個(gè)方法之間的關(guān)系。

3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。

4、覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是依據(jù)對(duì)象的類型(對(duì)象對(duì)應(yīng)存儲(chǔ)

空間類型)來確定;重載關(guān)系,是依據(jù)調(diào)用時(shí)的實(shí)參表與形參表來選擇

方法體的。

二、填空題

1、在聲明一個(gè)類變量時(shí),前面必需要加上一static一修飾符

2、_import—語句可以導(dǎo)入Java的好用包中的全部類

3、方法的覆蓋是—后期―綁定,方法的重載是—前期___綁定

4、寫出一個(gè)表達(dá)式:輸出角度30°的余弦值

_Math.cos(30*3.14/180)_

5、為類Class1創(chuàng)建一個(gè)靜態(tài)整型變量s_data:_staticints_data

o

6、寫出抽象類lamAbstract的類頭定義語句:_publicabstraact

classlamAbstract_。

7、定義一個(gè)抽象方法abstractMethod,沒有形式參數(shù),返回值為

布爾型變量:_publicabstractbooleanabstractMethod()—0

8、寫出定義最終類lamFinal的類頭定義語句:_finalclass

lamFinal_。

9、定義浮點(diǎn)常量PI,其取值為3.1415926:_floatPI=3.1415926f

三、選擇題

1、有關(guān)類的說法正確的是()

A.類具有封裝性,所以類的數(shù)據(jù)是不能被訪問的

B.類具有封裝性,但可以通過類的公共接口訪問類中的數(shù)據(jù)

C.聲明一個(gè)類時(shí),必需用public修飾符

D.每個(gè)類中,必需有main方法,否則程序無法運(yùn)行

2、將類的成員的訪問權(quán)限設(shè)置為默認(rèn)的,則該成員能被()

A.同一包中的類訪問

B.其他包中的類訪問

C.全部的類訪問

B.全部的類的子類訪問

3、下面是正確的方法重載的是()

A.intfun(inta,floatb){}floatfun(inta,floatb){}

B.intfun(inta,floatb){}floatfun(intx,floaty){}

C.floatfun(floata){}floatfun(floata,floatb){}

D.floatfun1(inta,floatb){}floatfun2(inta.floatb){}

4、下面關(guān)于繼承的說法正確的是()

A.超類的對(duì)象就是子類的對(duì)象

B.一個(gè)類可以有幾個(gè)超類

C.一個(gè)類只能有一個(gè)子類

D.一個(gè)類只能有一個(gè)超類

5、下面關(guān)于多態(tài)性的說法正確的是()

A.一個(gè)類中,不能有同名的方法

B.子類中不能有和父類中同名的方法

C.子類中可以有和父類中同名且參數(shù)相同的方法

D.多態(tài)性就是方法的名字可以一樣,但返回的類型必需不一樣

第四章

一、思索題

1、Applet與Application的區(qū)分

答:Application是一種可獨(dú)立運(yùn)行的程序,Applet是一種存儲(chǔ)于

Intemet/Intranet服務(wù)器(Server)上的Java程序,可以被多個(gè)客

戶機(jī)下載并在客戶端由閱讀器供應(yīng)的Java虛擬機(jī)JVM運(yùn)行。Applet

必需通過〈applet〉標(biāo)簽嵌入HTML程序在閱讀器中運(yùn)行。

2、小應(yīng)用程序在其生命周期中,init()>start()>stop()、destroy

()、paint。方法執(zhí)行時(shí)機(jī)?

答:init()初始化,是小應(yīng)用程序的入口點(diǎn)。執(zhí)行時(shí)機(jī)是在第一次閱

讀web頁(yè)面時(shí)執(zhí)行一次。

Stat()啟動(dòng)對(duì)應(yīng)的方法,執(zhí)行時(shí)機(jī)是閱讀器載入程序時(shí)執(zhí)行init

0之后、離開上述web頁(yè)面之后重新回來、運(yùn)用閱讀器的縮放按鈕

變更窗口大小。

Stop()執(zhí)行時(shí)機(jī)是離開小應(yīng)用程序所在web頁(yè)面、刷新該頁(yè)面、

關(guān)閉該頁(yè)面、圖標(biāo)化閱讀器。

Destroy()執(zhí)行時(shí)機(jī)關(guān)閉web頁(yè)面時(shí)執(zhí)行一次。

3、事務(wù)處理的基本編程方法?

答:用于監(jiān)聽xxEvent事務(wù)的編程的基本方法如下:

■第一步:程序起先加上importjava.awt.event.*語句。對(duì)

java.awt中的組件實(shí)現(xiàn)事務(wù)處理必需都引入java.awt.event

包。

■其次步:實(shí)現(xiàn)事務(wù)監(jiān)聽者所對(duì)應(yīng)的接口,即添加:implements

xxListener(事務(wù)所對(duì)應(yīng)的接口)。

■第三步:設(shè)置事務(wù)監(jiān)聽者:事務(wù)源.addxxListener(事務(wù)監(jiān)聽

者)。

■第四步:編程實(shí)現(xiàn)對(duì)應(yīng)事務(wù)接口中的全部方法。

4、Swing與awt的異同

答:awt與swing都是Java用于實(shí)現(xiàn)圖形用戶界面的類庫(kù),swing

是JFC的一部分,它在技術(shù)上比awt邁進(jìn)了一步;在外觀效果上也比

awt有進(jìn)步。

二、填空題:

1、小應(yīng)用程序的公共類必需是_java.applet.Applet的子類

2、小應(yīng)用程序生命期中_init()一方法只執(zhí)行一次,_start()一方法

可被反復(fù)執(zhí)行多次

3、將復(fù)選框用」ava.awt.CheckboxGroup.進(jìn)行分組即得到單選鈕

4、Java.awt.Font類用于設(shè)置一文本字體—

5、繪制直線、圓、弧、多邊形等繪圖方法在_Java.awt.Graphics.包

第五章

一、思索題:

1、什么時(shí)候發(fā)生異樣?

答:在程序運(yùn)行過程中,任何中斷正常程序流程的狀況都是錯(cuò)誤或異樣。

例如,發(fā)生下列狀況時(shí),會(huì)出現(xiàn)異樣:

想打開的文件不存在;

網(wǎng)絡(luò)連接中斷;

■操作數(shù)超出預(yù)定范圍,例如,除數(shù)為0;

■數(shù)組元素下標(biāo)越界。

2、要被監(jiān)視異樣的代碼必需放在哪個(gè)語句塊中?

答:Java中異樣處理的一般形式是:

try(

//被監(jiān)視的代碼塊}

catch(異樣類1對(duì)象名1){

〃異樣類1的異樣處理代碼塊}

3、catch起什么作用?

答:catch實(shí)現(xiàn)異樣類型的捕獲。

4、異樣未被捕獲會(huì)發(fā)生什么結(jié)果

答:若有匹配則執(zhí)行相應(yīng)的處理代碼,然后接著執(zhí)行本try塊之外的其

他程序。否則這個(gè)沒有被程序捕獲的異樣將由缺省處理程序處理,缺省

處理程序?qū)@示異樣的字符串、異樣發(fā)生位置等信息,終止整個(gè)程序的

執(zhí)行并退出。

5、throws起什么作用?

答:編程人員可以用throw語句自行拋出異樣,throw語句的語法如

下:

throwThrowable類或其子類的對(duì)象。

throws語句用于聲明一個(gè)方法可能引發(fā)的全部異樣,這些異樣是要求

調(diào)用該方法的程序處理的。其語法為:

返回類型方法名(參數(shù)表)throws異樣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論