作業(yè)集-JAVA語言程序設(shè)計(jì)作業(yè)集_第1頁
作業(yè)集-JAVA語言程序設(shè)計(jì)作業(yè)集_第2頁
作業(yè)集-JAVA語言程序設(shè)計(jì)作業(yè)集_第3頁
作業(yè)集-JAVA語言程序設(shè)計(jì)作業(yè)集_第4頁
作業(yè)集-JAVA語言程序設(shè)計(jì)作業(yè)集_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章測(cè)試題―.單選題1:Java技術(shù)是由_______公司推出來的。(A)SunMicrosystems(B)Microsoft(C)IBM(D)BEA。答案A2:對(duì)Java相關(guān)的技術(shù)敘述正確的_______。(A)Java僅僅是一種編程語言;(B)Java只是一種虛擬的平臺(tái);(C)Java即是開發(fā)環(huán)境又是開發(fā)平臺(tái);(D)Java就是JavaScript。答案C3:對(duì)Java的特點(diǎn)敘述不正確的是_______。(A)Java是一種筒單.小型的語言;(B)Java中沒有了指針?biāo)惴ǎ珜?shí)際上還是隱藏了指針;(C)Java是一種完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語言;(D)Java是一種絕對(duì)安全的語言。答案D4:對(duì)Java的平臺(tái)無關(guān)性敘述不正確的是_______。(A)用Java編寫的程序可以很容易地移植到其他硬件平臺(tái)上;(B)用Java編寫的程序可以很容易地移植到其他軟件平臺(tái)上;(C)用Java編寫的程序可以不加修改地移植到任何平臺(tái)上;(D)Java并沒有實(shí)現(xiàn)完全的跨平臺(tái)。答案D5:對(duì)JVM敘述不正確的是_______。(A)JVM的全稱是JavaVirtualMachine;(B)JVM是一種計(jì)算機(jī)硬件技術(shù),它是Java程序的運(yùn)行平臺(tái);(C)JVM是在計(jì)算機(jī)硬件系統(tǒng)上用軟件實(shí)現(xiàn)的一臺(tái)假想機(jī);(D)Java程序在執(zhí)行時(shí),JVM把Java字節(jié)碼解釋成機(jī)器碼。答案B6:對(duì)Java語言的特點(diǎn)描述不正確的是_______。(A)Java是一個(gè)迅速發(fā)展的網(wǎng)絡(luò)編程語言,它是一種新的計(jì)算概念;(B)它簡(jiǎn)單.面向?qū)ο?分布式.解釋執(zhí)行.不依賴于機(jī)器的結(jié)構(gòu);(C)具有可移植性.魯棒性.安全性,并且是多線程的.動(dòng)態(tài)的,具有很高的性能;(D)Java沒有利用網(wǎng)絡(luò)。答案D7:對(duì)象不具有的性質(zhì)是_______。(A)封裝性(B)繼承性(C)多態(tài)性(D)重載性。答案D8:下列標(biāo)識(shí)符中_______是Java中的關(guān)鍵字。(A)import(B)include(C)define(D)end答案A9:Java(JDKl.O)正是發(fā)表于_______。(A)1996年5月;(B)1995年5月;(C)1994年6月;(D)1995年4月。答案B10:下列不是Java開發(fā)工具的是_______。(A)Java解釋器; (B)Javah頭文件生成器;(C)Java編譯器; (D).JavadocAPI文件產(chǎn)生器。答案C二.填空題1:Java的語言特點(diǎn)有_______。答案簡(jiǎn)單,面向?qū)ο螅植际?,解釋?zhí)行,魯棒,安全,體系結(jié)構(gòu)中立,可移植,髙性能,多線程,以及動(dòng)態(tài)性2:Java的口號(hào)是_______。答案WriteOnce,RunAnywhere3:Java程序分為_______和_______。答案Java應(yīng)用程序。Java小程序4:對(duì)Java小程序來說,它必須作為_______類或_______類的一個(gè)子類,繼承_______或_______類的類是小程序的主類答案Applet。JApplet。Applet。JApplet5:常用的Java程序開發(fā)工具有_______,_______,_______。答案美國(guó)Sun公司的JavaSDK,NetBeans。微軟公司的VisualJ++。Borland公司的JBuilder等6:JavaSDK的意思是_______。答案SoftwareDevelopmentkit7:Java命令行方式的編程環(huán)境由一系列_______,_______,_______。答案目錄文件。類庫字節(jié)碼文件。動(dòng)態(tài)連接庫DLL文件8:Java應(yīng)用程序和Java小程序的主要區(qū)別是_______。答案小程序中沒有main()方法9:一個(gè)源文件中最多只能有一個(gè)_______類,其他類的個(gè)數(shù)_______。答案Public。無限10:包語句的標(biāo)識(shí)符是_______,引入語句的標(biāo)識(shí)符是_______,接口定義的標(biāo)識(shí)符是_______,類定義的標(biāo)識(shí)符是_______。答案Package。IerfaceDefinition。classDefinition三.簡(jiǎn)答題1:什么叫Java虛擬機(jī)?答案Java虛擬機(jī)是一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上i過軟件模擬來實(shí)現(xiàn)。Java虛擬機(jī)有自己想象中的硬件,如處理器.堆棧.寄存器等,還具有相應(yīng)的指令系統(tǒng)。2:Java程序分哪兩類?各有什么特點(diǎn)答案Java程序有Java應(yīng)用程序和Java小程序,無論是Java應(yīng)用程序還是Java小程序,它們都是以類為基礎(chǔ)構(gòu)建的。Java應(yīng)用程序中有main()函數(shù),而Java小程序沒有。3:寫出顯示信息為”welcometoJavaword!”的Java小程序。答案importJava.awt.Graphics;importJava.applet.AppletpublicclassHelloAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawstring("welcometoJavaword!!!",20,20);}}4:Java的開發(fā)工具有哪些?各有什么作用?答案常用的Java程序開發(fā)工具有:美國(guó)Sun公司的JavaSDK,NetBeans;微軟公司的VisualJ++;Borland公司的JBuilder等。目前JavaSDK是命令行開發(fā)工具,而NetBeans,VisualJ++JBuilder是集成環(huán)境開發(fā)工具。5:Java應(yīng)用程序和小程序的開發(fā)上有什么不同的地方嗎?答案Java應(yīng)用程序和小程序開發(fā)有共同的步驟如:創(chuàng)建新程序.輸入和編輯程序.對(duì)程序進(jìn)行編譯。但編譯之后還需要為Java小程序創(chuàng)建相應(yīng)的HTML網(wǎng)頁文件,步驟為:創(chuàng)建HTML文件.輸入HTML文件.運(yùn)行HTML文件。第二章測(cè)試題一.單選題1:下面對(duì)標(biāo)識(shí)符的說法不正確的是_______。(A)標(biāo)識(shí)符可以以數(shù)字開頭; (B)標(biāo)識(shí)符可以以字母開頭;(C)標(biāo)識(shí)符可以以下劃線開頭; (D)標(biāo)識(shí)符可以以美元符號(hào)開頭。答案A2:以下不屬于Java分隔符的是_______。(A)單行和多行注釋; (B)空格.回車和制表符;(C)句號(hào).引號(hào); (D)大括號(hào).分號(hào).逗號(hào)和冒號(hào)。答案C3:下列_______數(shù)據(jù)類型是Java和C不同的。(A)接口; (B)數(shù)組;(C)字符串; (D)大括號(hào).分號(hào).逗號(hào)和冒號(hào)。答案A4:以下變量定義方式正確的是_______。(A)類型標(biāo)識(shí)符[[=初始賦值];標(biāo)識(shí)符];(B)類型標(biāo)識(shí)符[[=初始賦值],標(biāo)識(shí)符];(C)類型標(biāo)識(shí)符[[=初始賦值]標(biāo)識(shí)符];(D)類型標(biāo)識(shí)符[[初始賦值],標(biāo)識(shí)符]。答案B5:以下_______運(yùn)算符返回的是bool的類型。(A)&&.; (B)||; (C)!; (D)0。答案D6:關(guān)于bool類型說法不正確的是_______。(A)其完整寫法為boolean;(B)布爾數(shù)據(jù)只有兩個(gè)值:true和false;(C)可以如下方式定義布爾變量:boolean mouseon=true;(D)Java中的布爾類型不能轉(zhuǎn)換成數(shù)字。答案C7:缺省值錯(cuò)誤的是_______。(A)數(shù)值數(shù)據(jù),缺省數(shù)值為相應(yīng)類型的零;(B)字符的缺省初值為\0000;(C)布爾初值為false.;(D)Object類型初值為null。答案B8:下列對(duì)運(yùn)算符的說法不正確的是_______。(A)++和--是算術(shù)運(yùn)算符;(B)Java語言對(duì)運(yùn)算符的優(yōu)先級(jí).結(jié)合性和求值順序有明確的規(guī)定;(C)+,-,*,/和%運(yùn)算符改變操作數(shù)的值;(D)!=(不等于)和==(等于)是雙目運(yùn)算符。答案C9:下列不是Java數(shù)值計(jì)算方法的是_______abs(),sin(),cos()tan(),asin(),acos()floorO,pow(a,b)strcopy(),conn()答案D二.填空題1:Java標(biāo)識(shí)符是大小寫_______(敏感/不敏感)的,_______(沒有/有) 字符數(shù)的限制。答案敏感。沒有2:保留字(reservedword)又稱為_______,是Java語言本身使用的標(biāo)識(shí)符,它有其特定的語法含義。所有的Java保留字將不能被用做_______。答案關(guān)鍵字。標(biāo)識(shí)符3:程序中所處理的數(shù)據(jù)表現(xiàn)為_______和_______兩種形式。答案常量。變量4:Java的整型常數(shù)有_______、_______和_______三種形式。答案十進(jìn)制。十六進(jìn)制。八進(jìn)制5:Java的實(shí)型常量有標(biāo)準(zhǔn)和科學(xué)計(jì)數(shù)法兩種表現(xiàn)形式。標(biāo)準(zhǔn)形式由_______和_______組成,且必須有_______,如_______等。科學(xué)計(jì)數(shù)法形式,數(shù)字中帶_______。答案數(shù)字。小數(shù)點(diǎn)。小數(shù)點(diǎn)。0.123,4.56,789.0。e或E6:字符型char數(shù)據(jù)是由一對(duì)_______括起來的單個(gè)字符。Java使用_______的16位字符集,而不僅僅為_______字符集,因此char類型的范圍_______。答案單引號(hào)。Unicode格式。ASCII。0到655357:字符串常量是用_______括起來的零個(gè)或多個(gè)字符(包括轉(zhuǎn)義字符)。例如:空串為_______。答案雙引號(hào)。""8:在Java語言中,毎個(gè)字符串常量被作為字符串類_______的對(duì)象來處理。答案String9:在Java語言中,字符串變暈是對(duì)象,是_______(復(fù)合類型/簡(jiǎn)簡(jiǎn)單類型)。有_______和_______兩種字符串變量類String類是常量類,初始化后不能改變StringBuffer類是_______,可以修改。答案復(fù)合類型。Strig類。StringBuffer類。字符串緩沖區(qū)10:六種關(guān)系運(yùn)算符分別_______,!=(不等于)和==(等于)。運(yùn)算符“==”和“!=”的運(yùn)算優(yōu)先級(jí)__________另外四個(gè)關(guān)系運(yùn)算符。答案>(大于).<(小于).>=(大于或等于).<=(小于或等于)。低于11:Java中提供了7種位運(yùn)算符,位邏輯運(yùn)算符是_______。算術(shù)移位運(yùn)算符是_______。答案~(按位取反);&(與運(yùn)算);丨(或運(yùn)算);^(異或運(yùn)算)。<<(左移);>>(算術(shù)右移)和>>>(邏輯右移)12:(a>b)?a:b;將返回_______。答案a和b中較大的那個(gè)數(shù)值13:inta,charb;將整形a將強(qiáng)制轉(zhuǎn)換為字符型b的語句為_______。答案b=(char)a14:a+b-c先執(zhí)行_______,再執(zhí)行_______。a=b=c先執(zhí)行_______再執(zhí)行_______。答案a+b。a+b-c。b=c。a=b15:Java標(biāo)準(zhǔn)輸出有_______方法和_______方法。要控制輸出數(shù)據(jù)的格式,可以使用_______方法和_______方法。答案Print。println。printf。format三.簡(jiǎn)答題1:寫出下列程序的輸出結(jié)果,并予以說明。答案6異或32:寫出下列使用Math方法的程序的輸出結(jié)果。答案程序運(yùn)行結(jié)果如下:半徑為3.0的圓面積是:28.XX8138直角三角形直角邊為3.0和4.0時(shí)的斜邊長(zhǎng)為:5.0-8和-4的較大者是:一4-18的絕對(duì)值是:18不小于45.7的最小整數(shù)是:46.0不大于45.7的最大整數(shù)是:45.0sin25度的值是:0.XX069944。3:寫出下列程序的結(jié)果。答案程序運(yùn)行結(jié)果如下:2005的二進(jìn)制是:XX2005的八進(jìn)制是:37252005的十六進(jìn)制是:7d5iobj=123i=123iobjl==iobj2?trueiobj=2128num=41334:編寫程序?qū)⒄麛?shù)15左移2位,右移2位。答案第三章測(cè)試題一.單選題1:Java語言中,整形常數(shù)123占有的存儲(chǔ)字節(jié)數(shù)是_______。(A)1(B)2(C)4(D)8答案B2:下列if-else語句正確的是_______。if(1)語句1[else語句2]if(0)語句1if(5>3)語句1[else語句2]if5=3)語句1[else語句2]答案C3:用if-then-else語句,_______使用縮排。(A)不能 (B)建議 (C)必須 (D)有時(shí)必須答案B4:有循環(huán)結(jié)構(gòu)的程序中,應(yīng)該注意_______。循環(huán)體中的程序不應(yīng)太長(zhǎng)避免條件表達(dá)式永遠(yuǎn)為真值能夠使用while循環(huán),盡量使用while循環(huán)有時(shí)必須使用循環(huán)結(jié)構(gòu)答案B5:成了這個(gè)循環(huán)語句后,y的值將變成_______。(A)0 (B)250 (C)50 (D)51答案C6:成了這個(gè)循環(huán)語句后,x的值將變成_______。(A)0 (B)250 (C)50 (D)51答案A7:這個(gè)循環(huán)中,循環(huán)體內(nèi)的語句共執(zhí)行了_______次,循環(huán)判斷了_______次。(A)0 (B)250 (C)50 (D)51答案略8:這段代碼中,每一次循壞時(shí),首先執(zhí)行_______語句。(A)intx=10(B)x>0(C)x--(D)System.out.println(i)答案B9:那么每一次循環(huán)中最后執(zhí)行的是_______語句。(A)intx=10(B)x>0(C)x--(D)System.out.println(i)答案C二.多選題10:switch語句的選擇變量可以_______類型的。(A)int (B)boolean (C)char. (D)float答案AC11:來區(qū)別每一個(gè)switch分支的保留字是_______。(A)choice (B)condition(C)case(D)break答案C12:果switch語句的選擇變量的值與每一個(gè)case語句中都不匹配,將使用_______選擇。(A)any (B)default (C)none (D)other答案B13:switch語句中是可選的語句是_______。(A)switch (B)default (C)other (D)case答案B三.填空題1:在Java中,用_______聲明一個(gè)新的對(duì)象。答案New2:在Java語言中使用的分支語句有_______語句和_______語句。答案if–else。switch3:Java語言提供_______循環(huán)語句._______循環(huán)語句和_______循環(huán)語句三種形式。答案while。do-while。for四.問答題1:閱讀以下程序,如果myScore=96,則程序?qū)⑤敵鍪裁?如果mySore=50,則程序?qū)⑤敵鍪裁??你認(rèn)為這符合邏輯嗎?如果不合邏輯該如何修改?答案如果myScope=96,程序?qū)⑤敵觯篊ongratulatetoyou!Youscoreisverygood!。如果myScope=50,程序?qū)⑤敵觯篩ouscoreisverygood!makegreatefforts!當(dāng)成績(jī)?yōu)?0分時(shí),程序還說“youscoreisverygood!”,這說明這個(gè)程序不符合邏輯。應(yīng)該改為這是因?yàn)椋琲f(myScore>=90)這個(gè)語句如果是真的話,應(yīng)該執(zhí)行兩個(gè)語句,而如果不使用“將它們圍起來,則第2個(gè)語句就不屬于if(myScore>=90)了。這樣,程序就不管在什么情況下都會(huì)執(zhí)行這一句。2:寫一個(gè)程序段,判斷成績(jī)(myScope),若小于60,則輸出bad;若大于60,則輸出middle;若大于80,就輸出good;若大于90時(shí),輸出better。答案這個(gè)程序有多種寫法,下面列出了其中的一種:3:現(xiàn)有一個(gè)如下的數(shù)組:Stringweeks[]={“Monday”;“Tuesday”;“Wednesday”;“Thursday”;“Friday”;“Saturday”;“Sunday”;};請(qǐng)分別使用while循環(huán)和for循環(huán),寫一個(gè)程序?qū)⑺鼈兊闹荡蛴〉狡聊簧稀J褂脀hile語句:使用for語句:答案4:在下列程序片段中,你認(rèn)為變置condition是______型的。你認(rèn)為這個(gè)程序存在什么問題?答案b,能夠作為條件表達(dá)式的變量,只能是boolean型的。在這個(gè)程序中,循環(huán)體內(nèi)并未改變condition的值。如果condition是true的話,則這個(gè)循環(huán)將永遠(yuǎn)不會(huì)結(jié)束;而如果condition是fasle的話,還好,只是不執(zhí)行這個(gè)循環(huán)體。5:判斷以下命題是否正確,如果不正確,請(qǐng)舉例說明。for循環(huán)都能夠改寫成while循環(huán) ()while循環(huán)都能夠改寫成for循環(huán) ()答案for循環(huán)都能夠改寫成while循環(huán) (對(duì))while循環(huán)都能夠改寫成for循環(huán)(錯(cuò))例如,上一題中的while循環(huán)就無法改寫成為for循環(huán)。6:根據(jù)以下要求,使用switch語句編寫程序。某校使用“A”,“B”,“C”,“D”,“E”來為學(xué)生打成績(jī),請(qǐng)編寫一個(gè)程序,當(dāng):成績(jī)?yōu)锳時(shí),打印出“Excellent!”,成繢為B時(shí),打印出“Good!”;成績(jī)?yōu)镃時(shí),打印出“Average!”;成績(jī)?yōu)镈時(shí),打印出“Pool!”;成績(jī)?yōu)镋時(shí),打印出“Failure!”。假設(shè)本程序用來打印學(xué)生甲的成績(jī)情況,而學(xué)生甲的成績(jī)“B”存放在變量myScope。答案第四章測(cè)試題一.判斷題1:數(shù)組在定義時(shí),不能分配空間。只有定義完后,可以給數(shù)組分配空間。答案是2:可以這樣定義數(shù)組:int[]num=newint[3]{l,2,3};答案否判斷下列定義二維數(shù)組的方法是否正確。3:int[][]num=newint[][]{l,2,3,4,5,5};答案否4:int[][]num=newint[][]{{1,2,3},{4,5,5}};答案是5:int[][]num=newint[2][]{{l,2,3},{4,5,5}};答案否6:int[][]num={{l,2,3},{4,5,6}};答案是7:對(duì)象數(shù)組在創(chuàng)建之初會(huì)自動(dòng)初始化成null,由原始數(shù)據(jù)類型構(gòu)成的數(shù)組會(huì)自動(dòng)初始化成零(針對(duì)數(shù)值類型),(Char)0(針對(duì)字符類型)或者false(針對(duì)布爾類型)。答案是8:int[]al={1,2,3,4,5};int[]a2;a2=al;此復(fù)制方法是否正確。答案是9:float[][]A=newfloat[26][26];A[0][]={0.731,0.012,0.001,0.230,???}可以定義一個(gè)float數(shù)組答案否10:數(shù)組中可以有不同的數(shù)據(jù)類型。答案否二.填空題1:復(fù)制數(shù)組使用的方法是_______。答案**()2:一維數(shù)組的定義格式為_______,二維數(shù)組的定義格式為_______。答案類型數(shù)組名[]或類型[]數(shù)組名。類型數(shù)組名[]或類型[][]數(shù)組名或類型[]數(shù)組名[];三.簡(jiǎn)答題1:閱讀下列代碼,寫出其輸出。classTwoDAgain{publicstaticvoidmain(Stringargs[]){inttwoD[][]=newint[4][];twoD[0]=newint[l];twoD[l]=newint[2];twoD[2]=newint[3];twoD[3]=newint[4];inti,j,k=0;for(i=0ji<4;i++)for(j=0;j<i+l;j++){twoD[i][j]=k;k++;}for(i=0;i<4;i++){for(j=0;j<i+l;j++)System,out.print(twoD[i][j]+"")}System,out.Println();}}}答案該程序產(chǎn)生的輸出如下:01234567892:閱讀下列代碼寫出其輸出。publicclassArrays{publicstaticvoidmain(String[]args){int[]al={1,2,3,4,5}int[]a2;a2=al;for(inti=0;i<a2.length;i++)a2[i]++;for(inti=0;i<al.length;i++)prt("al["+i+"]="+al[i]);}staticvoidprt(Strings){System,out.println(s);}}答案運(yùn)行結(jié)果是:al[0]=2al[l]=3al[2]=4al[3]=5al[4]=63:寫出下列程序的所有輸出,并說明數(shù)組a1和a2的關(guān)系。publicclassArrays{publicstaticvoidmain(String[]args){int[]al={1,2,3,4,5};for(inti=0;i<al.length;i++)System,out.println("al["+i+"]="+al);int[]a2;a2=al;for(inti=0;i<a2.length;i++)a2++;**.println("afterchangea2");for(inti=0;i<al.length;i++)**.println("al["+i+"]="+al);**.println("afterchangea2[0]");a2[0]=333;System,out.println("a2[0]="+a2[0]);**.println("al[0]="+al[0]);**("a2");for(inti=0;i<a2.length;i++)**.println("a2["+i+"]"+a2);}}答案運(yùn)行結(jié)果是:al[0]=1al[l]=2al[2]=3al[3]=4al[4]=5afterchangea2 al[0]=2al[l]=3al[2]=4al[3]=5al[4]=6afterchangea2[0]a2[0]=333al[0]=333a2a2[0]=333a2[l]=3a2[2]=4a2[3]=5a2[4]=6數(shù)組al和a2始終在操作同一個(gè)對(duì)象。4:設(shè)在數(shù)組中存有10個(gè)整數(shù),現(xiàn)從鍵盤輸人一個(gè)數(shù),檢查此數(shù)是否在數(shù)組中,若在,則輸出它在數(shù)組中的位置,不在則輸出“Not?Found”。答案importJava.io.*;publicclassPickNum{publicstaticvoidmain(String[]args)throwsException{int[]a={2,43,5,7,4,3,28,9,11,30}BufferedReaderin=newBufferedReader(newInputStreamReade(system.in))Stringstr=in.readLine();intinputnum=Integer,parseInt(str);System,out.println("輸人的數(shù)字是:"+inputnum+",");inti;for(i=0,i<a.length;++i){if(inputnum==a[i]){System,out.println("它存在于數(shù)組的第"+i+"個(gè)位置。")break;}}if(i==a.length)System,out.Println("Notfound")}}5:寫一個(gè)方法,求一組數(shù)的最大值.最小值和平均值。答案classReturnArray{publicstaticvoidmain(Stringargs[]){doublea[]={1.1,3.4,-9.8,10};doubleb[]=max_min_ave(a);for(inti=0;i<b.length;i++)**.println("b["+i+"]="+b[i])}staticdouble[]max_min_ave(doublea[]){doubleres[]=newdouble[3];doublemax=a[0],min=a[0],sum=a[0]for(inti=l;i<a.length;i++){if(max<a[i])max=a[i];if(min>a[i])min=a[i];sum+=a[i];}res[0]=max;res[l]=min;res[2]=sum/a.length;returnres;}}第五章測(cè)試題一.判斷題1:類的對(duì)象是在程序運(yùn)行中創(chuàng)建生成的,其所占的空間在程序運(yùn)行中動(dòng)態(tài)分配。答案是2:Java的垃圾收集程序會(huì)自動(dòng)收回不用對(duì)象所占的空間。答案是3:類對(duì)象沒有生命周期。答案否4:new運(yùn)算符不用指定的類在內(nèi)存中分配空間,并將存儲(chǔ)空間的引用存人語句中的對(duì)象變量。答案否5:new運(yùn)算符不可以與類聲明一起使用來創(chuàng)建類的對(duì)象。答案否6:某些修飾符只能應(yīng)用于類的成員,某些修飾符既可應(yīng)用于類也可應(yīng)用于類的成員。答案是7:靜態(tài)方法也能訪問屬于某個(gè)對(duì)象的成員變量,而且能處理屬于整個(gè)類的成員變量。答案否8:靜態(tài)成員屬于整個(gè)類,所以它被所有該類對(duì)象共享。在不同的類對(duì)象中訪問靜態(tài)成員,訪問的是同一個(gè)。答案是9:final類不能被繼承,即final類無子類。final方法可以被覆蓋。答案否10:abstract修飾符可應(yīng)用于類和方法,稱為抽象類和抽象方法。答案是11:子類成員方法對(duì)父類同名方法的覆蓋將清除父類方法占用的內(nèi)存空間,從而使得父類的方法在子類對(duì)象中不復(fù)存在。答案是12:在創(chuàng)建派生類的對(duì)象時(shí),使用派生類的構(gòu)造方法對(duì)其初始化,要對(duì)自身的成員變量賦初值,但不一定要對(duì)父類的的成員變量賦初值。答案否13:抽象方法必須定義在抽象類中。抽象類是一種未實(shí)現(xiàn)的類,抽象類不能用new實(shí)例化一個(gè)對(duì)象。答案是14:派生類實(shí)現(xiàn)哪個(gè)或哪些接口可以用implements說明,也可以用extends說明。答案否15:關(guān)鍵字package后是不同層次的包名,在包名1下允許有次一級(jí)的子包——包名2,包名2下可以有更次一級(jí)的子包——包名3等等。答案是二.填空題1:類是組成Java程序的基本元素,它封裝了一系列的_______和_______,是一類對(duì)象的原型。創(chuàng)建一個(gè)新的類,就是創(chuàng)建一個(gè)新的_______。實(shí)例化一個(gè)類,就得到一個(gè)_______。答案變量。方法。數(shù)據(jù)類型。對(duì)象2:創(chuàng)建類的對(duì)象需用_______運(yùn)算符,一般形式為_______。答案new。對(duì)象名=new類名()3:訪問對(duì)象成員的一般形式為_______和_______。答案對(duì)象名.數(shù)據(jù)成員。名對(duì)象名.成員方法名()4:一般將修飾符分為_______和_______兩類。public,protected,private等是_______,static,final,native,volatile,abstract等是___________。答案訪問控制符。非訪問控制符。訪問控制符。非訪問控制符5:類的數(shù)據(jù)成員也可以是引用類型的數(shù)據(jù),如_______字符串和_______等。答案數(shù)組。類6:類繼承也稱為類派生,是指一個(gè)類可以繼承其他類的_______(非私有/私有)成員,實(shí)現(xiàn)代碼復(fù)用。被繼承的類稱為_______或_______,父類包括所有直接或間接被繼承的類;繼承父類或超類后產(chǎn)生的類稱為_______或子_______。答案非私有。父類。超類。派生類。類7:Java語言以_______類作為所有類的父類。答案Object8:在Java語言中,只允許_______(單繼承/多繼承)。類繼承_______(不改變/改變)成員的訪問權(quán)限。答案單繼承。不改變9:Java中的繼承是通過_______關(guān)鍵字來實(shí)現(xiàn)的。若無_______子句,則該類_______的子類。答案extends。extends。Java.lang.Object10:在類的繼承中,若子類(派生類)新增的成員名稱與父類(超類)成員相同,則稱為_______,在子類中定義與父類同名成員的目的是_______。答案成員夜蓋(overriding)。修改父類的屬性和行為11:在繼承接口的類中,通過定義接口中_______來實(shí)現(xiàn)接口功能。答案抽象方法的方法體12:在Java語言中,用關(guān)鍵字_______來定義接口。答案interface13:接口體中定義的變置均為_______,_______和_______。答案終極(final)的。靜態(tài)(static)的。公共(public)的14:包由包語句_______創(chuàng)建。答案package15:在Java程序中,若要用到某些包中的類或接口,一種方法是在程序的開始部分寫出相應(yīng)的_______語句,指出要引人哪些包的哪些類。另一種方法不用引人語句,直接在要引人的類和接口前給出其所在_______。答案引人(import)。包名三.簡(jiǎn)答題1:構(gòu)造方法是一種特殊的成員方法,它的特殊性反映哪些方面?答案(1)構(gòu)造方法名與類名相同。(2)構(gòu)造方法不返回任何值,也沒有返回類型。(3)每一個(gè)類可以有零個(gè)或多個(gè)構(gòu)造方法。(4)構(gòu)造方法在創(chuàng)建對(duì)象時(shí)自動(dòng)執(zhí)行,一般不能顯式地直接調(diào)用。2:定義一個(gè)名為Rectangle表示長(zhǎng)方形的類,它包含double類型的長(zhǎng)length和寬width兩個(gè)數(shù)據(jù)成員和設(shè)置長(zhǎng)方形長(zhǎng)寬值的方法setDim().計(jì)算長(zhǎng)方形面積的方法area()。答案classRectangle{doublelength;doublewidth;doublearea(){returnlength*width;}voidsetDim(doublew,double1){width=w;length=1;}}3:分別計(jì)算長(zhǎng).寬分別為20,10和6,3的兩個(gè)長(zhǎng)方形面積。用構(gòu)造方法來初始化長(zhǎng)方形的大小。答案classRectConstructor{doublelength;doublewidth;doublearea(){returnlength*width;}RectConstructor(double1;doublew){length=1;width=w;}}classRectDemo3{publicstaticvoidmain(Stringargs[]){RectConstructorrect1=newRectConstructor(20,10);RectConstructorrect2=newRectConstructor(6,3);doublear;ar=rect1.area();**.println("第一個(gè)長(zhǎng)方形的面積是:"+ar);ar=rect2.area();**("第二個(gè)長(zhǎng)方形的面積是t"+ar);}}4:內(nèi)部類具有什么特性?答案(1)內(nèi)部類可以被定義在方法中。它可以訪問嵌套類的方法的final變量。(2)內(nèi)部類可以使用所嵌套類的類變量和實(shí)例變量以及所嵌套的塊中的本地變量。(3)內(nèi)部類可以被定義為abstract抽象類。(4)內(nèi)部類可以被聲明為private或protected,以便防護(hù)它們不受來自外部類的訪問。訪問保護(hù)不阻止內(nèi)部類使用其他類的任何成員。(5)—個(gè)內(nèi)部類可以作為一個(gè)接口,由另一個(gè)內(nèi)部類實(shí)現(xiàn)。(6)聲明為static的內(nèi)部類成為頂層類。這些內(nèi)部類失去了在本地范圍和其他內(nèi)部類中使用數(shù)據(jù)或變量的能力。(7)內(nèi)部類不能聲明任何static成員,只有頂層類可以聲明static成員。因此,一個(gè)箝求static成員的內(nèi)部類必須使用來自頂層類的成員。5:Java都有哪些形式的包?各有什么作用或內(nèi)容?答案(l)Jave,lang:Jave語言的核心包,有Java程序所需要的最基本的類和接口,包括Ob?ject類.基本數(shù)據(jù)類型包裝類.數(shù)學(xué)類.異常處理類.線程類.字符串處理類.系統(tǒng)與運(yùn)行類和類操作類等。這個(gè)包由編譯器自動(dòng)引人。(2)Java.applet:用來實(shí)現(xiàn)運(yùn)行于Internet瀏覽器中的JavaApplet的工具類庫,它包含少量的幾個(gè)接口和一個(gè)非常有用的類Java.applet.Applet。(3)Java.awt:是Java抽象窗口工具箱包,包含許多字體和顏色設(shè)置.幾何繪圖.圖像顯示.圖形用戶接口操作的類和接口。(4)Java.io:是Java語言的標(biāo)準(zhǔn)輸入/輸出類庫,包含實(shí)現(xiàn)Java程序與操作系統(tǒng).外部設(shè)備以及其他Java程序做數(shù)據(jù)交換所使用的類,例如基本輸人/輸出流.文件輸人/輸出流.過濾輸人/輸出流.管道輸人/輸出流.隨機(jī)輸人/輸出流等;還包含了目錄和文件管理類等。(5)Java,net:是Java網(wǎng)絡(luò)包,實(shí)現(xiàn)網(wǎng)絡(luò)功能。(6)Java. util:包含了Java語言中的一些低級(jí)的實(shí)用工具,如處理時(shí)間的Date類,處理變長(zhǎng)數(shù)組的Vector類,實(shí)現(xiàn)棧和雜湊表的Stack類和HashTable類等。第六章測(cè)試題一.判斷題1:equals()和equalsIgnoreCase()與運(yùn)算符“==”實(shí)現(xiàn)的比較是相同的。答案否2:System.out.println(s==sl);輸出為false,System,out.println(“abc”==”abc”);輸出為true。答案是3:方法compareTo(StringanotherString)的功能是比較兩個(gè)字符串的大小。答案是4:方法replace(charoldChar,charnewChar)的功能是將字符串中newChar字符用oldChar字符替換。答案否5:方法Stringtrim()的功能是截去字符串后端的空白字符答案答案否6:方法concatO的功能是將str連接到調(diào)用串對(duì)象的后面,即進(jìn)行字符串的連接操作。答案是7:類StringBuffei?的對(duì)象是一種可以改變(如增長(zhǎng).修改)的字符串對(duì)象,使用起來比String類更加方便。答案是二.填空題1:Java語言中的包Java.lang中封裝了final類_______和_______,其中類_______對(duì)象是字符串常量,建立后不能改變。而類_______對(duì)象類似于一個(gè)字符緩沖區(qū),建立后可以修改。答案String。StringBuffer。String。StringBuffer2:定義一個(gè)字符串常量_______。定義一個(gè)空字符串_______。答案Strings="HelloWorld.。Strings=newString()3:由于在Internet上通常使用的字符都為8位的ASCII碼,Java提供了從字節(jié)數(shù)組來初始化字符串的方法,并且用_______來指定每個(gè)字符的髙位字節(jié),對(duì)ASCII碼來說,hiByte應(yīng)為_______,對(duì)于其他非拉丁字符集,hiByte的值應(yīng)該非_______。答案hiByte。0。04:方法_______和_______用來比較兩個(gè)字符串的值是否相等,不同的是_______忽略字母的大小寫。答案equals()。equalsIgnoreCase()。equalsIgnoreCase()5:運(yùn)算符“==”比較兩個(gè)字符串對(duì)象是否_______,而equals()和equalsIgnoreCase()則比較兩個(gè)字符串_______。答案引用同一個(gè)實(shí)例對(duì)象。中對(duì)應(yīng)的每個(gè)字符是否相同6:方法_______和_______用來比較當(dāng)前字符串的起始字符(或子字符串)prefix和終止字符(或子字符串)suffix是否和調(diào)用的字符(或字符串)相同。答案startWith()。endWith()7:lastlndexOf(Stringstr)和indexOf方法相比,不同之處是_______。答案從串對(duì)象的右端開始查找8:輸出結(jié)果為_______。答案**9:Strings=Integer.toString(123,8);System,out.println(s);輸出結(jié)果為_______。答案17310:StringBuffer字符串和String字符串的區(qū)別是_______。答案略11:在類StringBuffer對(duì)象中長(zhǎng)度length和是類StringBuffer對(duì)象中_______,容量capacity是_______。答案包含字符的數(shù)目。緩沖區(qū)空間的大小三.簡(jiǎn)答題1:voidensureCapacity(intminimumCapacity)答案本方法的功能是設(shè)定字符串緩沖區(qū)的大小。保證緩沖區(qū)的容量至少為指定的值mini-mumCapacity。若當(dāng)前緩沖區(qū)容量小于參數(shù)值,則分配新的較大的緩沖區(qū)。新容量取以下兩者中的大者:參數(shù)minimumCapacity的值;老容量的兩倍加2。2:voidsetLength(intnewLength)答案本方法的功能是指明字符串的長(zhǎng)度,這時(shí)字符串緩沖區(qū)中指定長(zhǎng)度以后的字符值均為零。3:StringBufferappend(Objectobj)答案方法append()用于在串緩沖區(qū)的字符串末尾添加各種類型的數(shù)據(jù)4:StringBufferinsert()答案方法StringBufferinsert()用于在串緩沖區(qū)的指定位置offset處插入各種類型的數(shù)據(jù)。5:StringBuffer.reverse()答案方法reverse()用于對(duì)StringBuffer類字符串對(duì)象進(jìn)行顛倒操作。設(shè)原字符串的長(zhǎng)度為n,新字符串中k位置的字符在原字符串中的位置為n-k-1。四.問答題1:寫程序?qū)⒆址產(chǎn)bcde,fgh,ijklmnop連接起來。答案classStringBufferAppend{publicstaticvoidmain(Stringargs[]){StringBuffersb=newStringBuffer("abcde");**("fgh");sb.=append("ijklmnop")**(sb)**("sb.capacity="+sb.Capacity());**("sb.length="+sb.length());**());}}2:寫一個(gè)方法對(duì)字符串?dāng)?shù)組按照順序(從小到大)和逆序(從大到小)的方式排序。答案publicString[]sort(String[]str,intflag){if(str==null||tr.length==0)thrownewIllegalArgumentException();Stringtemp=str[0];//順序排列,即從小到大if(flag==0){for(inti=0;i<str.length-1;i++){for(intj=i+1;j<str.length;j++){if(str[i].compareTo(str[j])>0){temp=str[i];str[i]=str[i];str[j]=temp;}}}}elseif(flag==l)//倒序排列for(inti=0;i<str.length-1;i++){if(str[i].compareTo(str[i])<0){temp=str[i];str[i]=str[j];str[i]=temp;}}}}第七章測(cè)試題一.名詞解釋1:輸人/輸出流。答案輸人/輸出時(shí),數(shù)據(jù)在通信通道中流動(dòng)。所謂“數(shù)流(stream)”指的是所有數(shù)據(jù)通信通道之中,數(shù)據(jù)的起點(diǎn)和終點(diǎn)。信息的通道就是一個(gè)數(shù)據(jù)流。只要是數(shù)據(jù)從一個(gè)地方“流”到另外一個(gè)地方,這種數(shù)據(jù)流動(dòng)的通道都可以稱為數(shù)據(jù)流。2:Reader。答案Reader中包含一套字符輸人流裔要的方法,可以完成最基本的從輸人流讀人數(shù)據(jù)的功能。當(dāng)Java程序需要外設(shè)的數(shù)據(jù)時(shí),可根據(jù)數(shù)據(jù)的不同形式,創(chuàng)建一個(gè)適當(dāng)?shù)腞eader子類類型的對(duì)象來完成與該外設(shè)的連接,然后再調(diào)用執(zhí)行這個(gè)流類對(duì)象的特定輸人方法,如readO,來實(shí)現(xiàn)對(duì)相應(yīng)外設(shè)的輸人操作。3:標(biāo)準(zhǔn)輸出。答案System類的類變量out表示標(biāo)準(zhǔn)輸出流,其定義為publicstaticfinalPrintStreamout標(biāo)準(zhǔn)輸出流也已打開,作好接收數(shù)據(jù)的準(zhǔn)備。一般這個(gè)流對(duì)應(yīng)顯示器輸出。4:緩沖輸出流Bu£feredOutputStream類。答案緩沖輸出流BufferedOutputStream類提供和FileOutputStream類同樣的寫操作方法,但所有輸出全部寫人緩沖區(qū)中。當(dāng)寫滿緩沖區(qū)或關(guān)閉輸出流時(shí),它再一次性輸出到流,或者用flush()方法主動(dòng)將緩沖區(qū)輸出到流。5:PrintStream類。答案過濾流類的子類PrintStream類提供了將Java的任何類型轉(zhuǎn)換為字符串類型輸出的能力。輸出時(shí),可應(yīng)用經(jīng)常使用的方法print()和println()。二.填空題1:輸人/輸出類在Java.io包中提供了60多個(gè)類(流)。從功能上分為兩大類:_______。從流結(jié)構(gòu)上可分為_______。答案輸入流和輸出流。字節(jié)流和字符流2:字節(jié)流的輸入流和輸出流基礎(chǔ)是_______和_______這兩個(gè)抽象類,字節(jié)流的輸入輸出操作由這兩個(gè)類的子類實(shí)現(xiàn)。字符流輸人輸出的基礎(chǔ)是抽象類_______和_______。答案InputStream。OutputStream。Readr。Writer3:過濾流的主要特點(diǎn)是_______。答案在輸人輸出數(shù)據(jù)的同時(shí)能對(duì)所傳輸?shù)臄?shù)據(jù)做指定類型或格式的轉(zhuǎn)換,即可實(shí)現(xiàn)對(duì)二進(jìn)制字節(jié)數(shù)據(jù)的理解和編碼轉(zhuǎn)換4:標(biāo)準(zhǔn)輸入設(shè)備是_______,標(biāo)準(zhǔn)輸出設(shè)備是_______,Java語言的系統(tǒng)類System提供訪問標(biāo)準(zhǔn)輸入輸出設(shè)備的功能,它有三個(gè)類變量_______分別表示標(biāo)準(zhǔn)輸人.標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出流。答案鍵盤。終端顯示器。in.out和err5:FilelnputStream類構(gòu)造方法有兩種,一種是_______建立流對(duì)象,例如_______;一種是_______建立流對(duì)象,例如_______。答案文件名。name=FilelnputStreamfis=newFilelnputStream("c:/config.sys")。文件對(duì)象file。FilemyFile=newFile("c:/config.sys)6:可用_______和_______兩種方法關(guān)閉它。答案顯式關(guān)閉。隱式關(guān)閉7:由于Java采用16位的_______字符,因而它是基于_______的輸入/輸出操作。答案Unicode。字符8:readLine()方法________,newLine()方法_______。答案從輸人流中讀取一行字符,行結(jié)束標(biāo)志為回車符和換行符。向字符輸出流中寫人一個(gè)行結(jié)束標(biāo)記9:Java提供的_______可進(jìn)行隨機(jī)形式的輸入輸出。答案RandomAccessFile類10:目錄操作的主要方法有:根據(jù)抽象路徑名創(chuàng)建目錄_______,返回抽象路徑名表示路徑中的文件名和目錄名_______。答案publicbooleanmkdir()。publicString[]list()三.簡(jiǎn)答題1:輸入輸出流操作的一般步驟是什么?有什么需要注意的?答案(1)使用引人語句引入Java.io包:importJava.io.*;(2)根據(jù)不同數(shù)據(jù)源和輸人輸出任務(wù),建立字節(jié)流或字符流對(duì)象。(3)若需要對(duì)字節(jié)或字符流信息組織加工為數(shù)據(jù),在已建字節(jié)流或字符流對(duì)象上構(gòu)建數(shù)據(jù)流對(duì)象。(4)用輸人輸出流對(duì)象類的成員方法進(jìn)行讀寫操作,需要時(shí),設(shè)置讀寫位置指針。(5)關(guān)閉流對(duì)象。其中步驟(2)?(5)要考慮異常處理。2:使用數(shù)據(jù)文件流的一般步驟是什么?答案(1)建立字節(jié)文件流對(duì)象;(2)基于字節(jié)文件流對(duì)象建立數(shù)據(jù)文件流對(duì)象;(3)用流對(duì)象的方法對(duì)基本類型的數(shù)據(jù)進(jìn)行輸人/輸出。3:DatalnputStream和DataOutputStream類和FilelnputStream和FileOutputStream的區(qū)別是什么?答案字節(jié)文件流FilelnputStream和FileOutputStream只能提供純字節(jié)或字節(jié)數(shù)組的輸入/輸出,如果要進(jìn)行基本數(shù)據(jù)類型如整數(shù)和浮點(diǎn)數(shù)的輸人/輸出。則要用到過濾流類的子類二進(jìn)制數(shù)據(jù)文件流DatalnputStream和DataOutputStream類。這兩個(gè)類的對(duì)象必須和一個(gè)輸入類或輸出類聯(lián)系起來,而不能直接用文件名或文件對(duì)象建立。4:用哪些方法可以獲得文件名,對(duì)文件重命名,以及進(jìn)行文件刪除操作?答案(1)獲得文件名publicString.getName()得到一個(gè)文件名。publicString.getParent()得到一個(gè)抽象路徑的父路徑名。publicString.getPath()得到一個(gè)文件的路徑名。publicString.getAbsolutePath()得到一個(gè)抽象路徑的絕對(duì)路徑名。(2)文件重命名publicbooleanrenameTo(Filedest)將抽象路徑文件名重命名為給定的新文件名。(3)文件刪除publicbooleandelete()刪除抽象路徑表示的文件或目錄。四.問答題1:在C盤根目錄下建立文件FIB.DAT,存儲(chǔ)Fibonacci數(shù)列的前20個(gè)數(shù)。Fibonacci數(shù)列的前兩個(gè)數(shù)是1,從第三個(gè)數(shù)開始,是其前兩個(gè)數(shù)之和。即1,1,2,3,5,8,13,21,…。答案importJava.io.*;classFibOut{publicstaticvoidmain(Stringargs[]){try{//創(chuàng)建字節(jié)文件輸出流OutputStreamfos=newFileOutputStream("ric:/fib.dat");DataOutputStreamdos=newDataOutputStream(fos);intcount=0,i=l,j=1;for(;count<20;count++){**(i)intk=i+ji=j;j=k;}**()//關(guān)閉文件輸出流}catch(Exceptione){System,out.printlnC"Exception:"+e);}System,out.println("文件創(chuàng)建成功!");}}2:用FileWriter來寫人文件。答案importJava.io.*;classFileWriteTest{publicstaticvoidmain(String[]args){FileWriteTestt=newFileWriteTest();**();}voidWriteMyFile(){

try{FileWriterfw=newFileWriter("mydata.txt");PrintWriterout=newPrintWriter(fw);out.print("hi,thiswillbewirteintothefile!");**();**();}catch(IOExceptione){System,out.Println("'Uhoh,gotanlOExceptionerror!");printStackTrace()}}}第八章測(cè)試題一.名詞解釋1:JavaApplet答案JavaApplet是一種特殊的Java應(yīng)用程序。英文后綴-let是小的意思,JavaApplet即Java小應(yīng)用程序,常簡(jiǎn)稱為Java小程序或Java小應(yīng)用程序2:HTML語言答案Java小程序必須嵌人在HTML語言中由瀏覽器運(yùn)行。HTML語言是“HyperTextMarkupLanguage”的簡(jiǎn)寫,稱為“超文本標(biāo)記語言”。它是一種排版語言,在給出具體信息的同時(shí),也用各種標(biāo)記(tag)來指出這些信息的顯示格式。WWW瀏覽器可以理解這些標(biāo)記,并按照標(biāo)記的要求在瀏覽器的顯示頁面中把HTML文件中的信息顯示出來。3:AWT答案AWT是AbstractWindowToolkit的縮寫,中文意義是抽象窗口工具包。所謂抽象,是指Java作為一種跨平臺(tái)的語言,要求Java程序應(yīng)能在不同的平臺(tái)系統(tǒng)上運(yùn)行。為了達(dá)到這個(gè)目的,集中了很多繪圖.圖形圖像.顏色.字體.圖形界面組件等類的AWT類庫中的各種操作被定義成在一個(gè)并不存在的“抽象窗口”中運(yùn)行?!俺橄蟠翱凇笔沟瞄_發(fā)人員所設(shè)計(jì)的圖形界面程序能夠獨(dú)立于具體的界面實(shí)現(xiàn),可以適用于所有的平臺(tái)系統(tǒng)。4:Applet間的通信答案嵌入在同一HTML文件中的Applet程序(同頁)可以通過Java,applet包中提供的接口.類方法進(jìn)行通信。有用的接口為Applet環(huán)境上下文接口AppletContext,在該接口中定義了如下的方法:publicAppletgetApplet(Stringname)查找和返回由Applet上下文指明的HTML文擋中具有指定name的的Applet,name用HTML標(biāo)記中name屬性設(shè)置,是一個(gè)Applet字節(jié)碼文件的名字。5:URL統(tǒng)一資源定位器答案URL(Uni£ormResourceLocator)是統(tǒng)一資源定位器的簡(jiǎn)稱,它表示Internet上某一資源的地址。URL包括兩方面的內(nèi)容:協(xié)議名和資源名,中間用冒號(hào)隔開。二.填空題1:Java應(yīng)用程序和JavaApplet方法的區(qū)別是_______。答案JavaApplet中沒有main()方法2:所有的JavaApplet都必須聲明為_______類的子類或_______類的子類。通過這個(gè)Applet類或JApplet類的子類,才能完成Applet與_______的配合。答案略3:Applet和JApplet類為_______類,編寫的Applet的主類也必須聲明為_______。因此文件名必須與類名相同(包括大小寫),源文件名必須為類名加_______。答案Public。public。Java4:在JavaApplet中有五種相對(duì)重要的方法_______,_______,_______,_______,_______。答案初始化init()。開始執(zhí)行start()。停止執(zhí)行stop()。退出destroy()。繪畫paint()5:Applet可以通過_______來得到外部參數(shù)。這是通過_______參數(shù)標(biāo)記來實(shí)現(xiàn)的。答案HTML文件。HTML文檔中PARAM6:要進(jìn)行AWT繪制工作,要應(yīng)用Java.awt.Component類中的幾個(gè)方法,這些方法分別是_______._______._______。答案voidpaint(Graphicsg)方法。voidupdate(Graphicsg)方法。voidrepaint()方法7:在Java語言中,應(yīng)用字體用_______類實(shí)現(xiàn),一個(gè)_______類的對(duì)象表示了一種字體顯示效果,包括字體.字形和字號(hào)等內(nèi)容。Font類的構(gòu)造方法為_______。答案Font。Font。Font(Stringname,intstyle,intsize)8:若希望程序的界面五彩斑斕,可應(yīng)用Java.awt包中的類_______。它提供了_______種顏色常量。Java采用_______位顏色標(biāo)準(zhǔn),每種顏色由_______三種顏色的不同比例值組合而成,取值范圍為_______。答案Color。13。24。紅(R).綠(G).藍(lán)(B)。0~255三.簡(jiǎn)答題1:簡(jiǎn)述Applet的工作原理。答案含有Applet的網(wǎng)頁的HTML文件代碼中部帶有<applet>和</applet>&樣一對(duì)標(biāo)記,當(dāng)支持Java的網(wǎng)絡(luò)瀏覽器遇到這對(duì)標(biāo)記時(shí),就將下載相應(yīng)的小應(yīng)用程序代碼并在本地計(jì)算機(jī)上執(zhí)行該Applet。JavaApplet是用Java語言編寫的一些小應(yīng)用程序,這些程序是直接嵌人到頁面中,由支持Java的瀏覽器(IE或Nescape)解釋執(zhí)行能夠產(chǎn)生特殊效果的程序。它可以大大提髙Web頁面的交互能力和動(dòng)態(tài)執(zhí)行能力。包含Applet的網(wǎng)頁被稱為Java-powered頁,可以稱其為Java支持的網(wǎng)頁。當(dāng)用戶訪問這樣的網(wǎng)頁時(shí),Applet被下載到用戶的計(jì)算機(jī)上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶的計(jì)算機(jī)上執(zhí)行的,所以它的執(zhí)行速度不受網(wǎng)絡(luò)帶寬或者M(jìn)odern存取速度的限制,用戶可以更好地欣賞網(wǎng)頁上Applet產(chǎn)生的多媒體效果。Applet小應(yīng)用程序的實(shí)現(xiàn)主要依靠Java,applet包中的Applet類。與一般的應(yīng)用程序不同,Applet應(yīng)用程序必須嵌人在HTML頁面中,才能得到解釋執(zhí)行;同時(shí)Applet可以從Web頁面中獲得參數(shù),并和Web頁面進(jìn)行交互。含有Applet的網(wǎng)頁的HTML文件代碼中必須帶有<叩口1過>和</3!^1過>這樣一對(duì)標(biāo)記,當(dāng)支持Java的網(wǎng)絡(luò)瀏覽器遇到這對(duì)標(biāo)記時(shí),就將下載相應(yīng)的小程序代碼并在本地計(jì)算機(jī)上執(zhí)行該Applet小程序。Applet是一種Java的小程序,它通過使用該Applet的HTML文件,由支持Java的網(wǎng)頁瀏覽器下載運(yùn)行。也可以通過Java開發(fā)工具的appletviewer來運(yùn)行。Applet程序離不開使用它的HTML文件。這個(gè)HTML文件中關(guān)于Applet的信息至少應(yīng)包含以下三點(diǎn):(1)字節(jié)碼文件名(編譯后的Java文件,以.class為后綴);(2)字節(jié)碼文件的地址;(3)在網(wǎng)頁上顯示Applet的方式。一個(gè)HTML文件增加Applet有關(guān)的內(nèi)容只是使網(wǎng)頁更加富有生氣,如添加聲音.動(dòng)畫等這些吸引人的特征,它并不會(huì)改變HTML文件中與Applet無關(guān)的元素。2:Applet的一般結(jié)構(gòu)框架形式是什么?答案importJava.awt.*;importJava.applet.*;publicclass小程序類名extendsApplet{publicvoidinit(){//初始化.設(shè)S字體.裝載圖片等}publicvoidstart(){//啟動(dòng)或恢S執(zhí)行}publicvoidstop(){//執(zhí)行被掛起}publicvoiddestroy(){//執(zhí)行關(guān)閉活動(dòng)}publicvoidpaint(Graphicsg){//進(jìn)行繪圖操作等}}3:Applet的執(zhí)行有幾種方式?請(qǐng)予以簡(jiǎn)要介紹。答案有三種方式(1)用AppletViewer執(zhí)行。Java.SDK開發(fā)環(huán)境中提供的小程序觀察器AppletViewer.exe是一個(gè)瀏覽Applet的簡(jiǎn)易工具,它僅僅使用HTML文件中需要運(yùn)行Applet的各種信息,而其他內(nèi)容將不會(huì)被顯示出來。AppletViewer通過命令行方式運(yùn)行,它彈出一個(gè)類似瀏覽器的畫面,包括一個(gè)Applet菜單.一個(gè)圖形顯示區(qū)域和一個(gè)位于顯示區(qū)域下方的狀態(tài)行。AppletViewer運(yùn)行時(shí)要指定一個(gè)嵌入Applet字節(jié)碼的HTML文件,使得給定的Applet可以在顯示區(qū)域中運(yùn)行。(2)在瀏覽器中執(zhí)行。支持Java Applet的瀏覽器運(yùn)行嵌入Applet單元的HTML文檔即可運(yùn)行其中的Applet程序。但常見的瀏覽器只能支持JDK1.1版的JavaApplet。若箝要使用新版本的JavaSDK來開發(fā)瀏覽器可運(yùn)行JavaApplet,可安裝JavaSDK相應(yīng)版本的插件Plugin,并可用HtmlConverter.exe程序來變換原HTML文檔為新的HTML文檔格式。(3)在網(wǎng)頁編輯器.FrontPage2000中執(zhí)行。MicroSoftFrontPage2000是一種常用的網(wǎng)頁設(shè)計(jì)工具,它集成在MicrosoftOffices2000中。使用FrOntPage2000可以用所見即所得的方式進(jìn)行網(wǎng)頁設(shè)計(jì),且不箝要網(wǎng)頁設(shè)計(jì)者寫任何HTML代碼。4:在Applet的重要執(zhí)行方法中,它們分別做哪些工作?答案(1)publicvoidinit()初始化。在整個(gè)Applet生命周期中,初始化只進(jìn)行一次。當(dāng)?shù)谝淮螢g覽含有Applet的Web頁時(shí),瀏覽器將進(jìn)行下面的工作:1)下載該Applet。2)創(chuàng)建一個(gè)該Applet主類的實(shí)例對(duì)象。3)調(diào)用init()對(duì)Applet自身進(jìn)行初始化。在init()方法中可設(shè)置Applet初始狀態(tài).載人圖形或字體.獲取HTML中Applet標(biāo)記單元中<PARAM>設(shè)定的參數(shù)等。(2)public voidstart()啟動(dòng)。在整個(gè)Applet生命周期中,啟動(dòng)可發(fā)生多次。在下列情況下,瀏覽器會(huì)調(diào)用start()方法:1)Applet第一次載入時(shí)。2)離開該Web頁后,再次進(jìn)入時(shí)(用back,forward)。3)Reload該頁面時(shí)。4)在瀏覽含有Applet的Web頁時(shí)用瀏覽器右上角縮放按鈕縮放瀏覽窗口大小時(shí)。在start()方法中可啟動(dòng)一線程來控制Applet,給引人類對(duì)象發(fā)送消息,或以某種方式通知Applet開始運(yùn)行。(3)public voidstop()停止執(zhí)行。在整個(gè)Applet生命周期中,停止執(zhí)行可發(fā)生多次。在下列情況下,瀏覽器會(huì)調(diào)用stop()方法:1)離開Applet所在Web頁時(shí)(用back,forward)。2)Reload該頁面時(shí)。3)在瀏覽含有Applet的Web頁時(shí)用瀏覽器右上角縮放按鈕縮放瀏覽窗口大小時(shí)。4)close該Web頁(徹底結(jié)束對(duì)該頁面的訪問),exit結(jié)束瀏覽器運(yùn)行時(shí)(從含有該Applet的Web頁退出時(shí))。stop()掛起Applet,可釋放系統(tǒng)處理資源。不然當(dāng)瀏覽者離開一個(gè)頁面時(shí),Applet還將繼續(xù)運(yùn)行。(4)public voidpaint(Graphicsg)繪制。發(fā)生下列情況時(shí),瀏覽器會(huì)調(diào)用paint()方法,而且可根據(jù)需要產(chǎn)生多次調(diào)用。1)Web頁中含有Applet的部分被卷人窗口時(shí)。2)Applet顯示區(qū)域在視線內(nèi)時(shí)調(diào)整瀏覽窗口大小.縮放瀏覽窗口.移動(dòng)窗口或Reload等需要重繪窗口時(shí)都會(huì)調(diào)用paint()方法。與前幾個(gè)方法不同的是,paint()中帶有一個(gè)參數(shù)Graphicsg,它表明paint()需要引用一個(gè)Graphics類的實(shí)例對(duì)象。在Applet中不用編程者操心,瀏覽器會(huì)自動(dòng)創(chuàng)建Graphics對(duì)象并將其傳送給paint()方法,但編程者應(yīng)在Applet中引人Graphics類所在的包或該類:importJavaawt.Graphics;(5)publicvoiddestroy()退出(撤銷)。在整個(gè)Applet生命周期中,退出只發(fā)生一次。在徹底結(jié)束對(duì)該Web頁的訪問和結(jié)束瀏覽器運(yùn)行時(shí)(closeexit)調(diào)用一次。Destroy()是Java.applet.Applet類中定義的方法,只能用于Applet。可在該方法中編寫釋放系統(tǒng)資源的代碼。但除非用了特殊的資源如創(chuàng)建的線程,否則不需重寫destroy()方法,因?yàn)镴ava運(yùn)行系統(tǒng)本身會(huì)自動(dòng)進(jìn)行“垃圾”處理和內(nèi)存管理。四.問答題1:以HelloWorld例子來說明Applet程序的開發(fā)過程。答案(1)編輯Applet的Java源文件。創(chuàng)建文件夾C:\ghq,在該文件夾下建立HelloWorld.Java。文件的源代碼如下:importJava.awt.*;importJava.applet.*;publicclassHelloWorldextendsApplet//繼承Appelet類,這是Appelet.Java程序的特點(diǎn){publicvoidpaint(Graphicsg){g.drawString("HelloWorld!",5,35);}}保存上述程序在C:\ghq\HelloWorld.Java文件里。(2)編譯Applet。編譯HelloWorld.Java源文件可使用如下JDK命令:C:\ghq\>JavacHelloWorld.Java<Enter〉成功地編譯JavaApplet之后生成相應(yīng)的字節(jié)碼文件HelloWorld.class的文件。用資源管理器或DIR命令列出目錄列表,將會(huì)發(fā)現(xiàn)目錄C:\ghq中多了一個(gè)名為HelloWorld.clas的文件。(3)創(chuàng)建HTML文件。在運(yùn)行創(chuàng)建的HelloWorld.class之前,還需創(chuàng)建一個(gè)HTML文件,AppletViewer或?yàn)g覽器將通過該文件訪問創(chuàng)建的Applet。為運(yùn)行HelloWorld.class,需要?jiǎng)?chuàng)建包含如下HTML語句的名為HelloWorld.html的文件。<HTML><TITLE>HelloWorld!Applet</TITLE><APPLET>CODE="JavaWorld.class"WIDTH=200HEIGHT=100></APPLET></HTML><APPLET>語句指明該Applet字節(jié)碼類文件名和以像素為單位的窗口的尺寸。雖然這里HTML文件使用的文件名為HelloWorld.HTML,它對(duì)應(yīng)于HelloWorld.Java的名字,但這種對(duì)應(yīng)關(guān)系不是必須的,可以用其他的任何名字(比如說Ghq.HTML)命名該HTML文件。但是使文件名保持一種對(duì)應(yīng)關(guān)系可給文件的管理帶來方便。(4)執(zhí)行HelloWorld.html。如果appletviewer運(yùn)行HelloWorld.html,嚮輸人如下的命令行:C:\ghq\>appletviewerJavaWorld.Html<ENTER>可以看出,該命令啟動(dòng)了AppletViewer并指明了HTML文件,該HTML文件中包含對(duì)應(yīng)于HelloWorld的<PARAM>語句。如果用瀏覽器運(yùn)行HelloWorld.Applet,需在瀏覽器的地址欄中輸人HTML文件URL地址。至此,一個(gè)Applet程序的開發(fā)運(yùn)行整個(gè)過程結(jié)束了包括Java源文件.編譯的class文件.html文件以及用AppletViewer或用瀏覽器運(yùn)行第九章測(cè)試題一.判斷題1:AWT是Java語言進(jìn)行GUI程序設(shè)計(jì)的基礎(chǔ)。答案是2:Swing組件是Java語言提供的第一代GUI設(shè)計(jì)工具包,它以AWT為基礎(chǔ)。答案否3:與AWT組件相比,Swing組件的名前少一個(gè)“J”字母。答案否4:AWT組件在Java,awt包中,而Swing組件在Javax.swing包中。答案是5:—個(gè)Java的圖形用戶界面的全部元素是組件。答案否6:抽象類Container是所有容器的父類,類Container也是Java語言的組件類Compoent的父類。答案否7:使用不同的布局管理器,組件在容器上的位置和大小都是很不一樣的。答案是8:在容器中并不是所有組件的布局(位置和大?。┯刹季止芾砥鱽砜刂啤4鸢阜?:在向GridLaymit添加組件時(shí),組件加人容器要按序進(jìn)行,每個(gè)網(wǎng)格中都必須加入1件。答案是10:框架是Frame類的對(duì)象,是swingGUI應(yīng)用程序的主窗口。答案否11:JButton組件與AWT的Button組件相比,增加了顯示文本中可用HTML標(biāo)記,可?圖標(biāo)等功能。答案是12:在GUI程序中,通常使用鼠標(biāo)來進(jìn)行人機(jī)交互操作。答案是13:處理鍵盤事件的程序要實(shí)現(xiàn)在Java. awt.event包中定義的接口MouseListener。答案否二.名詞解釋1:布局管理器(LayoutManager)。答案為了使得圖形用戶界面具有良好的平臺(tái)無關(guān)性,在Java語言中提供了布局管理器這個(gè)工具來管理組件在容器中的布局,而不使用直接設(shè)置組件位置和大小的方式。容器中的組件定位由布局管理器決定。每個(gè)容器都有一個(gè)缺省的布局管理器,當(dāng)容器需要對(duì)某個(gè)組件進(jìn)行定位或判斷其大小尺寸時(shí),就會(huì)調(diào)用其相應(yīng)的布局管理器。但也可以不用缺省的布局管理器,在程序中指定其新的布局管理器。2:觀感(LookandFeel)。答案Javaswing的一個(gè)重要特征是它的可插入的“觀感”體系。一個(gè)Swing應(yīng)用程序或一個(gè)最終用戶可指明所箝要的觀感,使得Swing應(yīng)用程序的外觀和行為都可以被定制。Swing運(yùn)行一個(gè)缺省的Java觀感(也稱為Metal觀感),還實(shí)現(xiàn)了模仿M

溫馨提示

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