版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
高等院校計算機(jī)基礎(chǔ)教育規(guī)劃教材《Java程序設(shè)計》課后習(xí)
題參考答案
習(xí)題1參考答案
1.Java語言的特點有哪些?
答:參考1.1.2
防止直接訪問數(shù)據(jù)變量看起來有些奇怪,但它實際上卻對使月類的程序質(zhì)量有極大
的好處。既然數(shù)據(jù)的單個項是不可訪問的,那么惟一的辦法就是通過方法來讀或?qū)?。?/p>
此,如果要求類成員內(nèi)部的一致性,就應(yīng)該通過類本身的方法來處理。
這種數(shù)據(jù)隱藏技術(shù)就是面向?qū)ο蟮闹匾匦砸环庋b。它將類的外部界面與類功能
的實現(xiàn)區(qū)分開來,隱藏實現(xiàn)細(xì)節(jié),(通過公共方法)保留有限的對外接口,迫使用戶使用
外部界面,通過訪問接口實現(xiàn)對數(shù)據(jù)的操作。即使實現(xiàn)細(xì)節(jié)發(fā)生了改變,還可通過界面
承擔(dān)其功能而保留原樣,確保調(diào)用它的代碼還繼續(xù)工作,這使代碼維護(hù)更簡單。
2.簡述封裝的優(yōu)點。
答:封裝是一個簡單而有效的思想,優(yōu)點有:(1)模塊化,對內(nèi)成為一個結(jié)構(gòu)完整、
可進(jìn)行自我管理、自我平衡、高度集中的整體。(2)信息隱蔽,對外則是一個功能明確、
接口單一、可在各種適合的環(huán)境下都能獨立工作的有機(jī)單元。
面向?qū)ο蟮某绦蛟O(shè)計實現(xiàn)了對象的封裝,使得用戶不必關(guān)心諸如對象的行為是如何
實現(xiàn)的這樣一些細(xì)節(jié)。通過對對象的封裝,實現(xiàn)了模塊化和信息隱藏,有利于程序的可
移植性和安全性,同時也有利于對復(fù)雜對象的管理。類的封裝性使得代碼的可重用性大
為提高,這樣的有機(jī)單元特別適合構(gòu)建大型標(biāo)準(zhǔn)化的軟件系統(tǒng),具有很高的開發(fā)效率。
3.Java的基本工具有哪些?
(1)javac編譯器
(2)java解釋器
(3)jdbJava語言調(diào)試器
(4)javadocAPI文檔管理器
(5)javah頭文件生成器
(6)appletviewer小應(yīng)用程序瀏覽器
(7)javap類文件反匯編器
4.Java開發(fā)環(huán)境是如何配置的?
答:對于Windows2000以上版本的操作系統(tǒng),可以打開[控制面板]窗口,雙擊其
中的[系統(tǒng)]圖標(biāo),在[系統(tǒng)特性]窗口中單擊[高級]選項卡,進(jìn)而單擊[環(huán)境變量]按鈕。在
出現(xiàn)的[環(huán)境變量]窗口中,在[系統(tǒng)變量]框中選擇[Path]項,單擊[編輯]按鈕,在彈出的[編
輯系統(tǒng)變量]窗口的[變量值]框后加上上面兩條語句。
習(xí)題2參考答案
1.Java語言包含哪些數(shù)據(jù)類型?
答:包含基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型?;绢愋桶ㄕ麛?shù)類型、浮點數(shù)類型、布
爾類型。復(fù)合類型包括類類型(ClassType)>接口類型(InterfaceType)與數(shù)組類型(Array
Type)。
2.Java有多少關(guān)鍵字?
答:abstract,continue,for,new,switch,boolean,default,goto*,null,synchronized,
break,do,if,package,this,byte,double,implements,private,threadsafe,byvalve*,else,
import,protected,throw,case,extends,instanceof,public,transient,catch,false,int,return,
true,char,final,interface,short,try,class,finally,long,static,void,const*,float,native,
super,while
3.byte、short、int、long和char整數(shù)類型各占了多少字節(jié)?
答:byte占了1字節(jié),short占了2字節(jié),int占了4字節(jié),long占了8字節(jié),char
占了2字節(jié)。
4.Java的控制結(jié)構(gòu)有哪幾類?
答:流程控制語句可以分為選擇、循環(huán)和跳轉(zhuǎn)3大類。
習(xí)題3參考答案
1.聲明類的格式是什么?
答:
[類修飾符]class類名稱[extends父類名稱][implements接口名稱]
(
類主體
1
2.面向?qū)ο蟪绦蛟O(shè)計中,什么是構(gòu)造函數(shù)?
答:類類型聲明方法成員,如果方法名稱與類名稱一樣,這種方法成員稱為構(gòu)造函
數(shù)。
習(xí)題4參考答案
1.面向?qū)ο蟪绦蛟O(shè)計中,什么是封裝?
答:OOP將處理過程與數(shù)據(jù)合并在一起處理。
2.面向?qū)ο蟪绦蛟O(shè)計中,什么是數(shù)據(jù)抽象化?
答:OOP程序設(shè)計的重心為對象,因些對象被視為擁有本身數(shù)據(jù)與處理過程的組
件,這些組件都有其獨立性。所以對象內(nèi)、外程序的處理就有某種程度的限制,換句話
說,對象外部并不明了對象內(nèi)部數(shù)據(jù)如何傳遞、改變,如何處理過程。這種隱藏對象內(nèi)
部的數(shù)據(jù)及處理過程的方式,使得對象抽象化,有人將這種處理方式稱為數(shù)據(jù)抽象化。
類庫就是JavaAPI(ApplicationProgramminginterface,應(yīng)用程序接口),是系統(tǒng)提供的已
實現(xiàn)的標(biāo)準(zhǔn)類的集合。在程序設(shè)計中,合理和充分利用類庫提供的類和接口,不僅可以
完成字符串處理、繪圖、網(wǎng)絡(luò)應(yīng)用、數(shù)學(xué)計算等多方面的工作,而且可以大大提高編程
效率,使程序簡練、易懂。
習(xí)題5參考答案
1.簡述數(shù)據(jù)類型類的常用方法。
答:對所有數(shù)據(jù)類型類的對象,形如“對象名.xxxxValueO”的成員方法,用來獲
得對象中的基本類型數(shù)據(jù)。包括:
對象名.doubleValue();
對象名.inlValue。;
對象名.byteValue。;
對象名.shortValue。;
對象名JongValue。;
對象名.charValue();
對象名foatValue。;
對象名.booleanValue。;
2.何為命令行參數(shù)?
答:所謂命令行參數(shù),是指執(zhí)行某個Java應(yīng)用程序時,從命令行中向程序直接傳
送的參數(shù)。我們可以獲得這些參數(shù)的值,并運用到程序的執(zhí)行過程中。
3.如何定義和創(chuàng)建一個數(shù)組?
答:要創(chuàng)建一個數(shù)組,必須首先定義數(shù)組變量所需的類型。通用的一維數(shù)組的聲明
格式是:typearrayName口洪中,type定義了數(shù)組的基本類型,arrayName是數(shù)組的
名稱?;绢愋蜎Q定了組成數(shù)組的每一個基本元素的數(shù)據(jù)類型。
4.如何聲明一個二組數(shù)組?
答:二維數(shù)組的一般聲明格式如下:
數(shù)組元素類型數(shù)組名[川;
數(shù)組元素類型nn數(shù)組名;
5.列舉一下數(shù)據(jù)類型類的常用方法。
答:對所有數(shù)據(jù)類型類的對象,形如“對象名、xxxxvalue()”的成員方法,用來
獲得對象中的基本數(shù)據(jù)類型。包括:對象名、doubleValue();對象名、iniValue();
對象名、byteValue();等。
習(xí)題6參考答案
1.解釋下列方法的意義:
(1)toLowerCase()(2)toUpperCase()(3)charAt()
(4)equalsIgnoreCaseO(5)capacity()(6)setLength()
(7)reverse()(8)replace(start,end,str)
答;
(1)將字符轉(zhuǎn)換成小寫字符
(2)將字符轉(zhuǎn)換成大寫字符
(3)從0算起第index字符
(4)忽略大小寫,比較兩字符串是否,相等,若是返回true,否則返回false
(5)計算字符串緩沖器的容量
(6)設(shè)定字符串的長度
(7)將字符串反轉(zhuǎn)排列
(8)返回字符串緩沖器從stare開始到end結(jié)束字符被str字符串取代
2.capacity。與length。的用法有什么不同?
答:capacity()用來計算字符串緩沖器的容量,length()用于計算字符串長度。
如:StringBufferkol=newStringBuffer(20)>則koicapacity()=20,但koi,length
O可能是0或20,視koi字符串長度而定。
習(xí)題7參考答案
1.什么叫流?流式輸入輸出有什么特點?
答:Java中的流是對數(shù)據(jù)傳遞機(jī)制的抽象。流分為兩種:輸入和輸出。Java中所
有輸入/輸出操作都是使用基本字節(jié)類型完成的。字符是通過值為字節(jié)類型的特殊代碼
處理的。Java程序的所有讀寫操作都是通過流實現(xiàn)的。流是一組字符序列。輸入源可以
是鍵盤、文件或網(wǎng)絡(luò),輸出自的地可以是屏幕、文件或網(wǎng)絡(luò)。數(shù)據(jù)作為字節(jié)序列進(jìn)行發(fā)
送和接收。
2.File類有哪些構(gòu)造函數(shù)和常用方法?并舉例說明。
答:使用下面的構(gòu)造函數(shù)創(chuàng)建File對象:
File(Stringdirpath)
File(Stringdiq?ath,Stringnlename)
File(FncdirObj,Stringfilenamc)
這里,dirpath是文件的路徑名,filename是文件名,dirObj是指定目錄的Fie對象。
下面的例子創(chuàng)建了3個文件:fl、已和f3,第一個File對象只有目錄路徑一個參
數(shù)。第二個有兩個參數(shù)一一目錄和文件名。第三個包括賦給n的文件路徑和文件名。f3
和也指的是同一個文件。最后一個包括指定文件“autoexec,bai”所在的目錄名稱。
Filefl=newFiIe("/");
Filef2=newFiIe("/","autoexec,bat");
Filef3=newFile(fl,"autoexec,bat");
Filef3=newFile("user"/'autoexec.bat");
File類的方法
下面是File類中一些重要的方法:
getName()
該方法用來獲取指定文件的名稱。
getPath()/getAbsolutePath()
這兩個方法分別得到指定文件的相對路徑和絕對路徑。
exists()
該方法用來判斷命名的文件是否存在于目錄當(dāng)中。
isFile()/isDirectory()
這兩個方法分別用來判斷命名的文件是否是普通文件和目錄。
canReadO/canWriteO
這兩個方法分別用來判斷指定文件是否可讀寫。
lastModified()
該方法返回文件最近一次被修改的時間。
lengthO
該方法返回文件的大小,以字節(jié)記。
delete()
該方法用來刪除指定文件。
renameTo()
該方法用來對已知文件進(jìn)行重命名。它將目的文件或者說重命名后的文件對象作為
參數(shù)。
isFile()
該方法通常返回true,但是一些特殊的文件如設(shè)備驅(qū)動和命名管道可能與普通文件
不同,所以該方法可以確定所訪問實體是一個文件。
isAbsolute()
如果文件是絕對路徑該方法返回true,相對路徑則返回false。
3.簡單介紹一下RandomAccessFile類。
答:RandomAceessFile類封裝了一個隨機(jī)訪問文件。它不是從輸入輸出流中獲得。
相反,它實現(xiàn)了定義基礎(chǔ)F0方法的Datalnput和DalaOutput這兩個接口。它也支持定
位請求,例如可以在文件中定位文件指針。它包含下面兩個構(gòu)造函數(shù):
RandomAccessFiIe(FilefObj,Stringacc)
RandomAccessFile(Stringfnamc,Stringacc)
在第一種形式下,fObj是指作為File對象打開的文件名稱。在第二種形式下,以
fname作為參數(shù)傳遞文件名。在兩種情況下,acc都決定了允許訪問什么樣的文件類型。
如果是“r”,那么可以對文件進(jìn)行讀訪問,如果是“rw”,則可以進(jìn)行讀寫訪問。seek()
方法用來設(shè)置文件指針的當(dāng)前位置。
voidseek(longnewPos)
這里,newpos是指以字節(jié)方式指定的新位置或者從文件頭或文件尾開始的文件指
針。調(diào)用seek方法之后,將會在新的文件位置發(fā)生讀或?qū)懙牟僮鳌?/p>
4.舉例實現(xiàn)寫文件FileOutputStream類。
寫文件舉例如下:
//FilcOutputSamplc.java
importjava.io.*;
publicclassFileOulpulSainple{
publicstaticvoidmain(Stringargs[]){
Stringname="OutputFiIeExample.txt";
FileOutputStreamoutputS:re~m;〃文件輸出流對象
〃緩沖數(shù)組,假設(shè)寫入文件的長度不超過1024字節(jié)
byte[]buffer=newbyte[1024];
try(
outputStream=newFileOutputStream(newFile(name));
try(
System.out.println("\nlr.putfilecontent(Tab+Entertoexit):
〃循環(huán)讀入字符,Tab+Enter鍵結(jié)束
intb,i=0;
while(i<1024&&(char)(b=System.in.read())!='\f){
buffer[i++]=(byte)b;
)
outputStream.write(buffer);
outputStrcam.close();
)
catch(lOExceptione){
System.err.printin("I/OExceptionwhenwritingorclosing:"+
e.toString());
)
)
catch(Exceptione){
System.err.printin(e.toString());
)
System.out.println("ThecontenthasbeensavedtoFile"+name);
)
)
編譯運行程序,程序會提示用戶輸入,用戶輸入“Tab+Entcr”后將退出向文件中
輸入內(nèi)容,然后用戶輸入的內(nèi)容將保存到文件OutputFileExample.txt中。
5.數(shù)據(jù)流分哪兩種?
答:數(shù)據(jù)流分為數(shù)據(jù)輸入流DatalnputStream和數(shù)據(jù)輸出流DataOutputStream。
(1)數(shù)據(jù)輸入流DatalnputSrtream
類DatalnputSlreani繼承自FilterlnpulStream類,并實現(xiàn)了Dalalnput接口。其構(gòu)造
函數(shù)如下:
publicDatalnputStream(InputStreamin);
其構(gòu)造函數(shù)以一個字節(jié)輸入流in對象位參數(shù),在創(chuàng)建DatalnputStream對象時,in
是InputStream類的子類的一個對象。
DatalnputStream類常用的構(gòu)造方法包括:
publicfinalihtrcad(int[]b);
publicfinalintread(int[]b?inioffset,intlen);
publicfinalinireadln(();
前兩個方法主要是將輸入流對象中的數(shù)據(jù)讀入到一個緩沖數(shù)組b中:而第三個方法
是讀取一個整型數(shù)據(jù),與該方法類似的還有readChar()、readBoolean。、readFloat。、
readDoubleO等,這些方法都是讀入一個簡單類型的數(shù)據(jù),可以是Java中任何基本數(shù)據(jù)
類型。
(2)數(shù)據(jù)輸出流DataOutputStream
類DataOutputStream繼承自FilterOutputStream類,并實現(xiàn)了DataOutput接口,其
構(gòu)造函數(shù)為:
publicDataOutputStream{OutputStreamout);
類DataOulpulStream中常用的方法主要有:
publicvoidflush();
publicvoidwrite(intb);
publicvoidwrite(byte[]b,intoffset,intlen);
publicvoidwriteByte(intv);
publicvoidwriteBytes(Strings);
publicvoidwriteChar(intv);
publicvoidwriteChars(Strings);
當(dāng)然,寫方法中還有寫入其他任何一種簡單數(shù)據(jù)類型的方法。
習(xí)題8參考答案
1.敘述TextComponent組件的功能。
答:TextComponent組件用于編輯文本。
2.TextComponent類包括哪兩種子類?
答:TextComponent類包括文本框(TextField)和文本域(TextArea)兩種子類。
3.編寫一個程序,使用戶能夠使用鼠標(biāo)在Applet中繪制一個矩形。按住鼠標(biāo)左鍵,
確定矩形左上角,然后拖動鼠標(biāo),在需要的位置(即矩形右下角)釋放鼠標(biāo)。另外,在
狀態(tài)欄中顯示矩形面積。
參考程序如下:
importjava,applet.Applet;
importjava.awt.*;
importjava.awt.event.*;
publicclassChp9_3_EextendsAppletimplements
MouseListener,MouseMotionListener{
intxl,yl,x2,y2;
publicvoidinit(){
addMouseListener(this);
ciddMouseMotionListener(this);
)
publicvoidpaint(Graphicsg){
g.drawRect(xl,yl,x2,y2);
intarea=Math.abs(x2-xl)*Math.abs(y2-yl);
showStatus("矩形面積:"+area);
)
//implementationofMouseListener
publicvoidmousePressed(MouseEvente){
xl=e.getXO;
yl=e.getY();
)
publicvoidmousedieked(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmouseReleased(MouseEvente){)
//implementationofMouseMotionEvent
publicvoidmouseDragged(MouseEvente){
x2=e.getXO;
y2=e.getYO;
repaint();
)
publicvoidmouseMoved(MouseEvente){)
)
習(xí)題9參考答案
1.簡述JavaApplet的運行過程。
答:Applet的運行過程:首先將編譯好的字節(jié)碼文件和編寫好的HTML文件(其中
包含字節(jié)碼文件名)保存在Web服務(wù)器的合適路徑下;當(dāng)WWW瀏覽器下載此HTML
文件并顯示時,它會自動下載HTML中指定的JavaApplet字節(jié)碼,然后調(diào)用內(nèi)置在瀏
覽器中的Java解釋器來解釋執(zhí)行下載到本機(jī)的字節(jié)碼程序。
2.舉例說明Applet中的參數(shù)傳遞。
答:例如:
importjava,applet.*;
importjava,awt.*;
publicclasspanuneterextendsApplet
(
Stringinput;
publicvoidinit()
{
input=getParamctcr("String");
)
publicvoidpaint(Graphicsg)
(
g.drawString(input,100,100);
})
可以使用下面的代碼給Applet傳遞一個參數(shù)。這里通過VALUE屬性傳遞了String
類型的輸入。NAME指出在Java代碼中的參數(shù)名。
<appletcode=',parameter,cla
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 4 My Favourite Subject .大單元整體說課稿2024-2025學(xué)年人教版英語七年級上冊
- 第5章 一元一次方程 問題解決的基本步驟 說課稿 2024-2025學(xué)年浙教版七年級數(shù)學(xué) 上冊
- 足球大單元計劃 斜傳直插二過一 說課稿-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊
- 醫(yī)療器械箱市場需求與消費特點分析
- 第八章第四節(jié) 乒乓球正手攻球單元說課稿(必修)-高一體育與健康人教版必修第一冊
- Module 1 Unit 3 Healthy or unhealthy?Period 3(說課稿)-2024-2025學(xué)年滬教牛津版(深圳用)英語六年級上冊
- 川教版信息技術(shù)(2019)四年級下冊《第三單元 奇妙的畫筆 4 綜合應(yīng)用》說課稿
- 刮鱗刀市場需求與消費特點分析
- 15《我們不亂扔》(說課稿)2024-2025學(xué)年統(tǒng)編版(2024)道德與法治一年級上冊
- 2024廣東省化肥(農(nóng)藥)買賣合同范本
- 網(wǎng)絡(luò)游戲危害課件
- 2022年12月大學(xué)英語四級考試真題(第1套)
- 2024供電營業(yè)規(guī)則學(xué)習(xí)課件
- 鐵路給水排水設(shè)計規(guī)范(TB 10010-2016)
- GINA2023-哮喘防治指南解讀-課件
- 2024年上海市第二十七屆初中物理競賽初賽試題及答案
- 寢室設(shè)計方案方法與措施
- 收費站冬季安全注意事項
- (外研版3起)英語四年級上冊單詞字帖書寫練習(xí)(手寫體)高清打印版
- 《泡沫滅火系統(tǒng)》課件
- 小學(xué)教學(xué)質(zhì)量提升關(guān)鍵培養(yǎng)學(xué)生良好的學(xué)習(xí)習(xí)慣
評論
0/150
提交評論