




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 住宅認(rèn)購(gòu)定金合同范本
- 倉(cāng)儲(chǔ)保管填寫合同范本
- 2025年四川貨運(yùn)從業(yè)資格證考試的技巧
- 一房三賣買賣合同范本
- 停息掛賬律師委托合同范本
- 個(gè)人外匯貸款合同范本
- 助資合同范本
- 個(gè)人買房購(gòu)房合同范本
- 公司稅貸合同范本
- 個(gè)人店面整體裝修合同范本
- DB32-T 4752-2024 一體化污水處理設(shè)備通.用技術(shù)要求
- 醫(yī)院多重耐藥菌感染管理規(guī)范
- 《公平競(jìng)爭(zhēng)審查條例》微課
- 《肺部疾病 案例分析-原發(fā)性肺癌》課件
- (高清版)WST 402-2024 臨床實(shí)驗(yàn)室定量檢驗(yàn)項(xiàng)目參考區(qū)間的制定
- 中英對(duì)照版-中文版-The-Dead-By-James-Joyces死者-詹姆斯-喬伊斯
- 清水河儲(chǔ)能電站施工方案設(shè)計(jì)
- 低溫絕熱液氧瓶充裝操作規(guī)程模版(2篇)
- (正式版)JBT 11517-2024 刮板取料機(jī)
- 大眾汽車使用說明書
- 小學(xué)科學(xué)湘科版五年級(jí)下冊(cè)全冊(cè)教案2023春
評(píng)論
0/150
提交評(píng)論