JAVA程序設(shè)計練習(xí)題有答案_第1頁
JAVA程序設(shè)計練習(xí)題有答案_第2頁
JAVA程序設(shè)計練習(xí)題有答案_第3頁
JAVA程序設(shè)計練習(xí)題有答案_第4頁
JAVA程序設(shè)計練習(xí)題有答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

《JAVA程序設(shè)計》練習(xí)題一、單選擇題1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為(B)。A.javaB..classC.htmlD..exe2、設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z--/++x的值是(A)。A.3B.3.5C.4D.53、不允許作為類及類成員的訪問控制符的是(C)。A.publicB.privateC.staticD.protected4、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()二、填空題1、開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個主要步驟為編輯源程序、編譯生成字節(jié)碼和解釋運(yùn)行字節(jié)碼。2、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode碼占用2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用2字節(jié)內(nèi)存空間。3、設(shè)x=2,則表達(dá)式(x++)/3的值是0。4、若x=5,y=10,則x<y和x>=y的邏輯值分別為true和false。5、抽象(abstract)方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。最終(final)方法是不能被當(dāng)前類的子類重新定義的方法。6、創(chuàng)建一個名為MyPackage的包的語句是packageMyPackage;,該語句應(yīng)該放在程序的位置為:應(yīng)該在程序第一句。7、設(shè)有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70};則執(zhí)行以下幾個語句后的輸出結(jié)果是120。ints=0;for(inti=0;i<MyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);8、在Java程序中,通過類的定義只能實現(xiàn)單重繼承,但通過接口的定義可以實現(xiàn)多重繼承關(guān)系。三、寫出下面程序的運(yùn)行結(jié)果1、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB("Hello!","IloveJAVA.");System.out.println(s.toString());}}classAB{Strings1;Strings2;publicAB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}Hello!IloveJAVA.2、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;i<a.length;i++)if(a[i]%3==0)s+=a[i];System.out.println("s="+s);}}s=1803、importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){System.out.println("a="+a+"\nb="+b);}}classSubClassextendsSuperClass{intc;SubClass(intaa,intbb,intcc){super(aa,bb);c=cc;}}classSubSubClassextendsSubClass{inta;SubSubClass(intaa,intbb,intcc){super(aa,bb,cc);A=aa+bb+cc;}voidshow(){System.out.println("a="+a+"\nb="+b+"\nc="+c);}}一.判斷題1.Java的源代碼中定義幾個類,編譯結(jié)果就生成幾個以.class為后綴的字節(jié)碼文件。(√)2.Java程序里,創(chuàng)建新的類對象用關(guān)鍵字new,回收無用的類對象使用關(guān)鍵字free。(×)3.Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時間釋放內(nèi)存對象。(×)4.構(gòu)造函數(shù)用于創(chuàng)建類的實例對象,構(gòu)造函數(shù)名應(yīng)與類名相同,返回類型為void。(×)5.在異常處理中,若try中的代碼可能產(chǎn)生多種異常則可以對應(yīng)多個catch語句,若catch中的參數(shù)類型有父類子類關(guān)系,此時應(yīng)該將父類放在后面,子類放在前面。(√)6.擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。(√)7.Java的屏幕坐標(biāo)是以像素為單位,容器的左下角被確定為坐標(biāo)的起點。(×)8.靜態(tài)初始化器是在其所屬的類加載內(nèi)存時由系統(tǒng)自動調(diào)用執(zhí)行。(√)9.在Java中對象可以賦值,只要使用賦值號(等號)即可,相當(dāng)于生成了一個各屬性與賦值對象相同的新對象。(×)二.單項選擇題1.Javaapplication中的主類需包含main方法,以下哪項是main方法的正確形參?(B)A、StringargsB、Stringar[]C、CharargD、StringBufferargs[]2.以下關(guān)于繼承的敘述正確的是(A)。A、在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C、在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D、在Java中接口只允許單一繼承3.paint()方法使用哪種類型的參數(shù)?(A)A、GraphicsB、Graphics2DC、StringD、Color4.以下哪個不是Java的原始數(shù)據(jù)類型(B)A、intB、BooleanC、floatD、char5.以下哪項可能包含菜單條(B)。A、PanelB、FrameC、AppletD、Dialog6.若需要定義一個類域或類方法,應(yīng)使用哪種修飾符?(A)A、staticB、packageC、privateD、public7.在瀏覽器中執(zhí)行applet程序,以下選項中的哪個方法將被最先執(zhí)行(A)。A、int()B、start()C、destroy()D、stop()11.以下代碼段執(zhí)行后的輸出結(jié)果為(A)intx=-3;inty=-10;System.out.println(y%x);A、-1B、2C、1D、312.有以下程序片段,下列哪個選項不能插入到行1。(D)1.2.publicclassInteresting{3.//dosth4.}A、importjava.awt.*;B、packagemypackage;C、classOtherClass{}D、publicclassMyClass{}15.在編寫JavaApplet程序時,需在程序的開頭寫上(B)語句。A、importjava.awt.*;B、importjava.applet.Applet;C、importjava.io.*;D、importjava.awt.Graphics;16.類Parent、Child定義如下:1.publicclassParent2.{publicfloataFun(floata,floatb)throws3.IOException{}4.}5.publicclassChildextendsParent{6.7.}將以下哪種方法插入行6是不合法的。(A)A、floataFun(floata,floatb){}B、publicintaFun(inta,intb)throwsException{}C、publicfloataFun(floatp,floatq){}D、publicintaFun(inta,intb)throwsIOException{}17.在使用interface聲明一個接口時,只可以使用(D)修飾符修飾該接口。A、privateB、protectedC、privateprotectedD、public18、有以下方法的定義,請選擇該方法的返回類型(D)。ReturnTypemethod(bytex,doubley){return(short)x/y*2;}A、byteB、shortC、intD、double三.程序閱讀題1.以下程序的輸出結(jié)果為相等。classStringTest1{publicstaticvoidmain(String[]args){Strings1="hello";Strings2=newString("hello");if(s1.equals(s2)){System.out.println("相等");}else{System.out.println("不相等");}}}2.以下程序段的輸出結(jié)果為56789。publicclassTestArray{publicstaticvoidmain(Stringargs[]){inti,j;inta[]={5,9,6,8,7};for(i=0;i<a.length-1;i++){intk=i;for(j=i;j<a.length;j++)if(a[j]<a[k])k=j;inttemp=a[i];a[i]=a[k];a[k]=temp;}for(i=0;i<a.length;i++)System.out.print(a[i]+"");System.out.println();}}4.閱讀以下程序,寫出輸出結(jié)果。classAnimal{Animal(){System.out.print("Animal");}}publicclassDogextendsAnimal{Dog(){System.out.print("Dog");}publicstaticvoidmain(String[]args){Dogsnoppy=newDog();}}AnimalDog填空題1、如果將類MyClass聲明為public,它的文件名稱必須是(MyClass.java)才能正常編譯。2、Java程序中的單行注釋符是(//),多行注釋符是(/**/)。3、Java中布爾類型的常量有兩種,它們是(true)和(false)。4、Java中用于定義小數(shù)的關(guān)鍵字有兩個:(float)和(double),后者精度高于前者。5、Java中用于兩個數(shù)相等比較的運(yùn)算符是:(==),用于不相等比較的運(yùn)算符是(<>)。6、在Java中定義一個字符串類型的變量str的語句是:(Stringstr;),定義一個具有10個元素的整型數(shù)組a的語句是:(int[]arr=newint[10];)。7、導(dǎo)入mypackage包中的所類的命令是(importmypackage.*;)。8、當(dāng)聲明一個數(shù)組intarr[]=newint[5];時,這代表這個數(shù)組所保存的變量類型是(int),數(shù)組名是(arr),數(shù)組的大小為(5),數(shù)組元素下標(biāo)的使用范圍是(0到4)。9、假設(shè)x=13,y=4,則表達(dá)式x%y!=0的值是(true),其數(shù)據(jù)類型是(boolean)。10、異常處理是由(try)、(catch)和finally塊三個關(guān)鍵所組成的程序塊。11、以下程序段的輸出結(jié)果是(三角形)intx=5,y=6,z=4;if(x+y>z&&x+z>y&&z+y>x)System.out.println("三角形");elseSystem.out.println("不是三角形");12、下面程序段的執(zhí)行結(jié)果是(65432)inta[]={2,3,4,5,6};for(inti=a.length-1;i>=0;i--)System.out.print(a[i]+"");三、程序閱讀題1、以下程序的輸出結(jié)果為_Peteris17yearsold!__。PublicclassPerson{Stringname;intage;publicPerson(Stringname,intage){=name;this.age=age;}Publicstaticvoidmain(String[]args){Personc=newPerson("Peter",17);System.out.println(+"is"+c.age+"yearsold!");}}2、以下程序的輸出結(jié)果為_課程號:101課程名:ASP學(xué)分:3__。PublicclassCourse{privateStringcNumber;privateStringcName;privateintcUnit;publicCourse(Stringnumber,Stringname,intunit){cNumber=number;cName=name;cUnit=unit;}PublicvoidprintCourseInfo(){System.out.println("課程號:"+cNumber+"課程名:"+cName+"學(xué)分:"+cUnit);}}classCourseTest{publicstaticvoidmain(String[]args){Coursec;c=newCourse("101","ASP",3);c.printCourseInfo();}}5、下列程序的運(yùn)行結(jié)果是__12345____。publicclassMyClass{inta[]={1,2,3,4,5};voidout(){for(intj=0;j<a.length;j++)System.out.print(a[j]+"");}publicstaticvoidmain(String[]args){MyClassmy=newMyClass();my.out();}}四、簡答題1、簡述Java中異常處理的機(jī)制?答:首先Java的異常是面向?qū)ο蟮?。一個Java的Exception是一個描述異常情況的對象.當(dāng)出現(xiàn)異常情況時,一個Exception對象就產(chǎn)生了,并放到異常的成員函數(shù)里。Java的異常處理是通過5個關(guān)鍵詞來實現(xiàn)的:try,catch,throw,throws和finally。1.異常處理:在Java語言的錯誤處理結(jié)構(gòu)由try,catch,finally三個塊組成。其中try塊存放將可能發(fā)生異常的Java語言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來激發(fā)被捕獲的異常;finally塊包含清除程序沒有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。2.拋出異常:Java語言可以不在方法中直接捕獲,而用throw語句將異常拋給上層的調(diào)用者。Throw語句就是來明確地拋出一個異常;首先你必需得到一個Throwable的實例句柄,通過參數(shù)傳到catch中,或者采用new操作符來創(chuàng)建一個。2、什么是繼承?答:通過必要的說明能夠?qū)崿F(xiàn)某個類無需重新定義就擁有另一個類的某些屬性和方法,并把這種關(guān)系稱為繼承,先定義的類稱為父類,后定義的類稱為子類,并且允許多層的繼承關(guān)系。3、請簡述重載和重寫的區(qū)別?答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。1.創(chuàng)建類的對象時,使用運(yùn)算符______new_____給對象分配內(nèi)存空間。2.定義類的構(gòu)造方法不能有返回值類型,其名稱與___類__名相同。3.Java語言中關(guān)鍵字__double___表示雙精度類型。4.若有定義:floatb={1.1f,3.5f,6.8f};,則b.length()的值是___3____。5.若有如下類定義,則類B是類A的__子類____。classBextendsA{…}6.接口中的成員只有靜態(tài)常量和__抽象方法____。7.在子類中使用關(guān)鍵字__super_____做前綴可調(diào)用被子類覆蓋的父類中的方法。8.關(guān)鍵字__import____用于導(dǎo)入包中的類到程序中,供程序中使用。9.Java語言中,通常把可能發(fā)生異常的方法調(diào)用語句放到try塊中,并用緊跟其后的__catch___塊來捕獲和處理異常。閱讀程序,回答問題1.1:publicclassOutput1{2:publicstaticvoidmain(Stringarge[]){3:inti=0;4:for(charch=97;ch<113;ch++,i++){5:if(i%8==0)6:System.out.println("");7:System.out.print("\t"+ch);8:}9:}10:}程序第5、6行的if語句的功能是什么?(2)程序輸出的結(jié)果有幾行?(1)每打印8個字符,則換行。(2)輸出的結(jié)果有2行2.1:importjava.util.Arrays;2:3:publicclassSortArray{4:publicstaticvoidmain(Stringargs[]){5:String[]str={"size","abs","length","class"};6:Arrays.sort(str);7:for(inti=0;i<str.length;i++)8:System.out.print(str[i]+"");9:}10:}(1)寫出程序運(yùn)行后的結(jié)果。(2)方法調(diào)用str[0].length(

溫馨提示

  • 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

提交評論