《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第1頁(yè)
《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第2頁(yè)
《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第3頁(yè)
《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第4頁(yè)
《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JAVA語(yǔ)言程序設(shè)計(jì)期末考試試題及答案(應(yīng)考必備題庫(kù))一、單選擇題1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為()。A.javaB.classC.htmlD.exe2、設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z/+x的值是()。A.3B.3.5C.4D.53、不允許作為類(lèi)及類(lèi)成員的訪問(wèn)控制符的是()。A.publicB.privateC.staticD.protected4、為AB類(lèi)的一個(gè)無(wú)形式參數(shù)無(wú)返回值的方法method書(shū)寫(xiě)方法頭,使得使用類(lèi)名AB作為前綴就可以調(diào)用它,該方法頭的形式為()。A.staticvoidmethod()B.pu

2、blicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()二、填空題1、開(kāi)發(fā)與運(yùn)行Java程序需要經(jīng)過(guò)的三個(gè)主要步驟為編輯源程序、編譯牛成字節(jié)碼和角.釋運(yùn)行字節(jié)碼。2、在Java的基本數(shù)據(jù)類(lèi)型中,char型采用Unicode編碼方案,每個(gè)Unicode碼占用2字節(jié)內(nèi)存空間,這樣,無(wú)論是中文字符還是英文字符,都是占用2字節(jié)內(nèi)存空間。3、設(shè)x=2,則表達(dá)式(x+)/3的佰是0。4、若x=5,y=10,貝Ux<y和x>=y的邏輯值分別為true和false。5、抽象(abstract)方法是一種僅有方法頭,沒(méi)有具體方法體和操作實(shí)現(xiàn)的

3、方法,該方法必須在抽象類(lèi)之中定義。最終final)方法是不能被當(dāng)前類(lèi)的子類(lèi)重新定義的方法。6、創(chuàng)建一個(gè)名為MyPackage的包的語(yǔ)句是packageMyPackage;,該語(yǔ)句應(yīng)該放在程序的位置為:應(yīng)該在程序第一句。7、設(shè)有數(shù)組定義:intMyIntArray=10,20,30,40,50,60,70;則執(zhí)行以下幾個(gè)語(yǔ)句后的輸出結(jié)果是120oints=0;for(inti=0;i<MylntArray.length;i+)if(i%2=1)s+=MyIntArrayi;8、在Java程序中,通過(guò)類(lèi)的定義只能實(shí)現(xiàn)單重繼承,但通過(guò)接口的定義可以實(shí)現(xiàn)多_重繼承關(guān)系。三、寫(xiě)出下面程序的運(yùn)行結(jié)果

4、1、 importjava.io.*;publicclassabcpublicstaticvoidmain(Stringargs)ABs=newAB("Hello!","IloveJAVA.");classABStrings1;Strings2;publicAB(Stringstr1,Stringstr2)s1=str1;s2=str2;publicStringtoString()returns1+s2;運(yùn)行結(jié)果:Hello!IloveJAVA.2、 importjava.io.*;publicclassabcpublicstaticvoidmain(S

5、tringargs)inti,s=0;inta=10,20,30,40,50,60,70,80,90;for(i=0;i<a.length;i+)if(ai%3=0)s+=ai;運(yùn)行結(jié)果:s=1803、 importjava.io.*;publicclassabcpublicstaticvoidmain(Stringargs)classSubClassextendsSuperClassintc;SubClass(intaa,intbb,intcc)super(aa,bb);c=cc;classSubSubClassextendsSubClassinta;SubSubClass(intaa

6、,intbb,intcc)super(aa,bb,cc);A=aa+bb+cc;voidshow()運(yùn)行結(jié)果:a=60b=20c=30JAVA語(yǔ)言程序設(shè)計(jì)期末考試試題及答案2(應(yīng)考必備題庫(kù))一判斷題1 .Java的源代碼中定義幾個(gè)類(lèi),編譯結(jié)果就生成幾個(gè)以.class為后綴的字節(jié)碼文件。(,)2 .Java程序里,創(chuàng)建新的類(lèi)對(duì)象用關(guān)鍵字new,回收無(wú)用的類(lèi)對(duì)象使用關(guān)鍵字free。(x)3 .Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時(shí)間釋放內(nèi)存對(duì)象。(X)4 .構(gòu)造函數(shù)用于創(chuàng)建類(lèi)的實(shí)例對(duì)象,構(gòu)造函數(shù)名應(yīng)與類(lèi)名相同,返回類(lèi)型為voido(X)5在異常處理中,若try中的代碼可能產(chǎn)生多種異常則可

7、以對(duì)應(yīng)多個(gè)catch語(yǔ)句,若catch中的參數(shù)類(lèi)型有父類(lèi)子類(lèi)關(guān)系,此時(shí)應(yīng)該將父類(lèi)放在后面,子類(lèi)放在前面。(,)6 .擁有abstract方法的類(lèi)是抽象類(lèi),但抽象類(lèi)中可以沒(méi)有abstract方法。(,)7 .Java的屏幕坐標(biāo)是以像素為單位,容器的左下角被確定為坐標(biāo)的起點(diǎn)。(X)8 .靜態(tài)初始化器是在其所屬的類(lèi)加載內(nèi)存時(shí)由系統(tǒng)自動(dòng)調(diào)用執(zhí)行。(,)9在Java中對(duì)象可以賦值,只要使用賦值號(hào)(等號(hào))即可,相當(dāng)于生成了一個(gè)各屬性與賦值對(duì)象相同的新對(duì)象。(X)二單項(xiàng)選擇題1. Javaapplication中的主類(lèi)需包含main方法,以下哪項(xiàng)是main方法的正確形參?()A、StringargsB、St

8、ringarC、CharargD、StringBufferargs2以下關(guān)于繼承的敘述正確的是()。A、在Java中類(lèi)只允許單一繼承B、在Java中一個(gè)類(lèi)只能實(shí)現(xiàn)一個(gè)接口C、在Java中一個(gè)類(lèi)不能同時(shí)繼承一個(gè)類(lèi)和實(shí)現(xiàn)一個(gè)接口D、在Java中接口只允許單一繼承3 .paint()方法使用哪種類(lèi)型的參數(shù)?()A、GraphicsB、Graphics2DC、StringD、Color4 .以下哪個(gè)不是Java的原始數(shù)據(jù)類(lèi)型()A、intB、BooleanC、floatD、char5以下哪項(xiàng)可能包含菜單條()。A、PanelB、FrameC、AppletD、Dialog6若需要定義一個(gè)類(lèi)域或類(lèi)方法,應(yīng)

9、使用哪種修飾符?()A、staticB、packageC、privateD、public7在瀏覽器中執(zhí)行applet程序,以下選項(xiàng)中的哪個(gè)方法將被最先執(zhí)行()。A、init()B、start()C、destroy()D、stop()8給出下面代碼,關(guān)于該程序以下哪個(gè)說(shuō)法是正確的?()publicclassPersonstaticintarr=newint5;publicstaticvoidmain(Stringa)0);A、編譯時(shí)將產(chǎn)生錯(cuò)誤錯(cuò)誤C輸出零D輸出空9.下列哪些語(yǔ)句關(guān)于Java內(nèi)存回收的說(shuō)明是正確的?A、程序員必須創(chuàng)建一個(gè)線程來(lái)釋放內(nèi)存B內(nèi)存回收程序負(fù)責(zé)釋放無(wú)用內(nèi)存C、內(nèi)存回收程序允

10、許程序員直接釋放內(nèi)存D內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象10以下哪個(gè)關(guān)鍵字可以用來(lái)對(duì)對(duì)象加互斥鎖?(AtransientBsynchronized11以下代碼段執(zhí)行后的輸出結(jié)果為()intx=3;inty=10;A-1B212有以下程序片段,下列哪個(gè)選項(xiàng)不能插入到行1。(B 編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生C serialize D static1.2 .publicclassInteresting4.A import java.awt.*;B package mypackage;C class OtherClass D public class MyClass 13.設(shè)有下面兩個(gè)賦值語(yǔ)句:3

11、./dosth12” );2” ).intValue();a=Integer.parseInt(b=Integer.valueOf(下述說(shuō)法正確的是(a是整數(shù)類(lèi)型變量,b是整數(shù)類(lèi)對(duì)象。Ba是整數(shù)類(lèi)對(duì)象,b是整數(shù)類(lèi)型變量。C、a和b都是整數(shù)類(lèi)對(duì)象并且值相等。D、a和b都是整數(shù)類(lèi)型變量并且值相等。14. FilterOutputStream是BufferedOutputStream>DataOutputStream及Printstream的父類(lèi),以下哪個(gè)類(lèi)可能是FilterOutputStream構(gòu)造函數(shù)的參數(shù)類(lèi)型?A、OutputStreamB、FileC、InputStreamD、Buf

12、feredOutputStream15在編寫(xiě)JavaApplet程序時(shí),需在程序的開(kāi)頭寫(xiě)上()語(yǔ)句。A、importjava.awt.*;B、importC、importjava.io.*;D、16類(lèi)Parent、Child定義如下:1 publicclassParent2 publicfloataFun(floata,floatb)throws3 IOException4 5 publicclassChildextendsParent67 將以下哪種方法插入行6是不合法的。)A、 floataFun(floata,floatb)B、 publicintaFun(inta,intb)throw

13、sExceptionC、 publicfloataFun(floatp,floatq)D、 publicintaFun(inta,intb)throwsIOException17在使用interface聲明一個(gè)接口時(shí),只可以使用)修飾符修飾該接口。A、privateB、protectedC、privateprotectedD、public18、有以下方法的定義,請(qǐng)選擇該方法的返回類(lèi)型)。ReturnTypemethod(bytex,doubley)return(short)x/y*2;A、byteB、shortC、intD、double19、關(guān)于以下代碼段的說(shuō)法正確的是)1 Strings=&

14、quot;abcde"2 StringBuffers1=newStringBuffer("abcde");3 if(s.equals(s1)4 s1=null;5 if(s1.equals(s)6 s=null;A、第1行編譯錯(cuò)誤,String的構(gòu)造器必須明確調(diào)用B、第3行編譯錯(cuò)誤,因?yàn)閟與si有不同的類(lèi)型C、編譯成功,但執(zhí)行時(shí)在第5行有異常拋出D、編譯成功,過(guò)程中也沒(méi)有異常拋出20、編譯并運(yùn)行以下程序,以下描述哪個(gè)選項(xiàng)是正確的(1. classX2. protectiedStringtoString()i3. returnsuper.toString();4.

15、A、編譯通過(guò)運(yùn)行無(wú)異常B、編譯通過(guò)但運(yùn)行時(shí)出錯(cuò)C、行2出錯(cuò),不能成功編譯D、不能成功編譯,行3出錯(cuò)三.程序閱讀題1 .以下程序的輸出結(jié)果為相等。classStringTestlpublicstaticvoidmain(String口args)Strings1="hello"Strings2=newString("hello");if(s1.equals(s2)else2 .以下程序段的輸出結(jié)果為56789。publicclassTestArraypublicstaticvoidmain(Stringargs)inti,j;inta=5,9,6,8,7;f

16、or(i=0;i<a.length-1;i+)intk=i;for(j=i;j<a.length;j+)if(aj<ak)k=j;inttemp=ai;ai=ak;ak=temp;for(i=0;i<a.length;i+)3 寫(xiě)出以下程序的功能。importjava.io.*;publicclassTestFilepublicstaticvoidmain(Stringargs)throwsExceptionBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);BufferedWriterb

17、w=newBufferedWriter(newFileWriter(input.txt");“Strings;while(true)s=br.readLine();if(s.length()=0)break;bw.write(s);bw.newLine();bw.close();功能:從鍵盤(pán)逐一輸入字符串,逐一輸出至input.txt文件中,直至輸入空行4 閱讀以下程序,寫(xiě)出輸出結(jié)果。classAnimalAnimal()nimal");publicclassDogextendsAnimalDog()Dog");publicstaticvoidmain(Strin

18、gargs)Dogsnoppy=newDog();輸出結(jié)果:AnimalDogJAVA語(yǔ)言程序設(shè)計(jì)期末考試試題及答案3(應(yīng)考必備題庫(kù))一、單項(xiàng)選擇題1、如下哪個(gè)是Java中的標(biāo)識(shí)符()A、publicB、superC、3numberD、width2、如下哪個(gè)是Java中的標(biāo)識(shí)符()A、fieldnameB、superC、3numberD、#number3、已知如下定義:Strings="story"下面哪個(gè)語(yǔ)句不是合法的()A、s+="books"B、s=s+100;C、intlen=s.length;D、Stringt=s+“abc;”4、如下哪個(gè)是J

19、ava中有效的關(guān)鍵字()A、nameB、helloC、falseD、good5、下面的代碼段執(zhí)行之后count的值是什么()intcount=1;for(inti=1;i<=5;i+)count+=i;System.out.println(count);A、5B、1C、15D、166、定義一個(gè)類(lèi),必須使用的關(guān)鍵字是()A、publicB、classC、interfaceD、static7、定義一個(gè)接口必須使用的關(guān)鍵字是()A、publicB、classC、interfaceD、static8、如果容器組件p的布局是BorderLayout,則在p的下邊中添加一個(gè)按鈕b,應(yīng)該使用的語(yǔ)句是(

20、)A、 p.add(b);C、 p.add(b,"South");B 、 p.add(b,"North");D 、 b.add(p,"North");9、聲明并創(chuàng)建一個(gè)按鈕對(duì)象b,應(yīng)該使用的語(yǔ)句是()A、Buttonb=newButton();B、buttonb=newbutton();C、Buttonb=newb();D、b.setLabel(確定”);10、Frame對(duì)象默認(rèn)的布局管理器是()A、FlowLayoutB、BorderLayoutC、CardLayoutD、null11、下列哪一個(gè)import命令可以使我們?cè)诔绦蛑袆?chuàng)

21、建輸入/輸出流對(duì)象()A、importjava.sql.*;B、importjava.util.*;C、importjava.io.*;D、.*;12、下面哪一個(gè)import命令可以為我們提供編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序的類(lèi)()A、importjava.sql.*;B、importjava.util.*;C、importjava.io.*;D、.*;13、如果需要從文件中讀取數(shù)據(jù),則可以在程序中創(chuàng)建哪一個(gè)類(lèi)的對(duì)象()A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter二、填空題1、如果將類(lèi)MyClass聲明為public,它的文

22、件名稱(chēng)必須是(MyClass.java)才能正常編譯。2、Java程序中的單行注釋符是(),多行注釋符是(/*/)。3、Java中布爾類(lèi)型的常量有兩種,它們是(true)和(false)。4、Java中用于定義小數(shù)的關(guān)鍵字有兩個(gè):(float)和(double),后者精度高于前者。5、Java中用于兩個(gè)數(shù)相等比較的運(yùn)算符是:(=),用于不相等比較的運(yùn)算符是(<>)。6、在Java中定義一個(gè)字符串類(lèi)型的變量str的語(yǔ)句是:(Stringstr;),定義一個(gè)具有10個(gè)元素的整型數(shù)組a的語(yǔ)句是:(intarr=newint10;)。7、導(dǎo)入mypackage包中的所類(lèi)的命令是(impor

23、tmypackage.*;)。8、當(dāng)聲明一個(gè)數(shù)組intarr=newint5;時(shí),這代表這個(gè)數(shù)組所保存的變量類(lèi)型是(int),數(shù)組名是(arr),數(shù)組的大小為(5),數(shù)組元素下標(biāo)的使用范圍是(0到4)。9、假設(shè)x=13,y=4,則表達(dá)式x%y!=0的值是(true),其數(shù)據(jù)類(lèi)型是(booleart。10、異常處理是由(try)、(catch)和finally塊三個(gè)關(guān)鍵所組成的程序塊。11、以下程序段的輸出結(jié)果是(三角形)intx=5,y=6,z=4;if(x+y>z&&x+z>y&&z+y>x)System.out.println("

24、三角形");elseSystem.out.println("不是三角形");12、下面程序段的執(zhí)行結(jié)果是(65432)inta=2,3,4,5,6;for(inti=a.length-1;i>=0;i-)System.out.print(ai+"");三、程序閱讀題1、以下程序的輸出結(jié)果為_(kāi)Peteris17yearsolcd!。publicclassPersonStringname;intage;publicPerson(Stringname,intage)=name;this.age=age;publicstatic

25、voidmain(String口args)Personc=newPerson("Peter",17);System.out.println(+"is"+c.age+"yearsold!");2、以下程序的輸出結(jié)果為課程號(hào):101課程名:ASP學(xué)分:3。publicclassCourseprivateStringcNumber;privateStringcName;privateintcUnit;publicCourse(Stringnumber,Stringname,intunit)cNumber=number;cName

26、=name;cUnit=unit;publicvoidprintCourseInfo()System.out.println("課程號(hào):"+cNumber+"課程名:"+cName+"學(xué)分:"+cUnit);classCourseTestpublicstaticvoidmain(String口args)Coursec;c=newCourse("101","ASP",3);c.printCourseInfo();3、以下程序的輸出結(jié)果為湯姆貓?bào)w重:20.0斤。publicclassTompriva

27、tefloatweight;privatestaticStringname;publicvoidsetWeight(floatweight)this.weight=weight;privatevoidout()System.out.println(name+"體重:"+weight+"斤");publicstaticvoidmain(Stringargs)T="湯姆貓"Tomcat=newTom();cat.setWeight(20);cat.out();4、 以下程序的輸出結(jié)果_。publicclassFatherSt

28、ringname,address,telintage;publicFather(Stringname,intage)=name;this.age=age;voidout()System.out.print("姓名:"+name);System.out.print("年齡:"+age);voidoutOther()System.out.print("家庭住址:"+addressSystem.out.print("電話:"+tel);classSonextendsFatherStringschool;

29、publicSon(Stringname,intage)super(name,age);voidout()super.out();super.outOther();System.out.println("學(xué)校:"+school);publicstaticvoidmain(Stringargs)Sonson=newSon("Tom",15);son.address="金水區(qū)son.school="九中"son.tel=;son.out();5、 下列程序的運(yùn)行結(jié)果是_12345。publicclassMyClassinta=1

30、,2,3,4,5;voidout()for(intj=0;j<a.length;j+)System.out.print(aj+"");publicstaticvoidmain(Stringargs)MyClassmy=newMyClass();my.out();四、簡(jiǎn)答題1、簡(jiǎn)述Java中異常處理的機(jī)制?答:首先Java的異常是面向?qū)ο蟮摹R粋€(gè)Java的Exception是一個(gè)描述異常情況的對(duì)象.當(dāng)出現(xiàn)異常情況時(shí),一個(gè)Exception對(duì)象就產(chǎn)生了,并放到異常的成員函數(shù)里。Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try,catch,throw,throws和fin

31、ally。1 .異常處理:在Java語(yǔ)言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finally三個(gè)塊組成。其中try塊存放將可能發(fā)生異常的Java語(yǔ)言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來(lái)激發(fā)被捕獲的異常;finally塊包含清除程序沒(méi)有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。2 .拋出異常:Java語(yǔ)言可以不在方法中直接捕獲,而用throw語(yǔ)句將異常拋給上層的調(diào)用者。Throw語(yǔ)句就是來(lái)明確地拋出一個(gè)異常;首先你必需得到一個(gè)Throwable的實(shí)例句柄,通過(guò)參數(shù)傳到catch中,或者采用new操作符來(lái)創(chuàng)建一個(gè)。2、 什么是繼承?答:通過(guò)必

32、要的說(shuō)明能夠?qū)崿F(xiàn)某個(gè)類(lèi)無(wú)需重新定義就擁有另一個(gè)類(lèi)的某些屬性和方法,并把這種關(guān)系稱(chēng)為繼承,先定義的類(lèi)稱(chēng)為父類(lèi),后定義的類(lèi)稱(chēng)為子類(lèi),并且允許多層的繼承關(guān)系。3、 請(qǐng)簡(jiǎn)述重載和重寫(xiě)的區(qū)別?答:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫(xiě)Overriding是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被重寫(xiě)(Overriding)。子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它而言,父類(lèi)中的定義如同被“屏蔽”了。如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,

33、它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,則稱(chēng)為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類(lèi)型。五、程序設(shè)計(jì)題1、 按以下要求編寫(xiě)程序(1)創(chuàng)建一個(gè)Rectangle類(lèi),添加width和height兩個(gè)成員變量(2)在Rectangle中添加兩種方法分別計(jì)算矩形的周長(zhǎng)和面積(3)編程利用Rectangle輸出一個(gè)矩形的周長(zhǎng)和面積解答:publicclassRectanglefloatwidth,height;publicRectangle(floatwidth,floatheight)this.width=width;this.height=height

34、;publicfloatgetLength()return(this.width+this.height)*2;publicfloatgetArea()returnthis.width*this.height;publicstaticvoidmain(Stringargs)Rectanglerect=newRectangle(10,20);System.out.println("周長(zhǎng)是:"+rect.getLength();System.out.println("面積是:"+rect.getArea();2、 按以下要求編寫(xiě)程序(1) 編寫(xiě)Animal接

35、口,接口中聲明run()方法(2) 定義Bird類(lèi)和Fish類(lèi)實(shí)現(xiàn)Animal接口(3)編寫(xiě)B(tài)ird類(lèi)和Fish類(lèi)的測(cè)試程序,并調(diào)用其中的run()方法解答:publicinterfaceAnimalvoidrun();classBirdimplementsAnimalpublicvoidrun()System.out.println("鳥(niǎo)兒在飛.");classFishimplementsAnimalpublicvoidrun()System.out.println("魚(yú)兒在游.");publicclassTestAnimalpublic static

36、 Bird bird = bird.run();Fish fish = fish.run();voidmain(Stringargs)newBird();newFish();3、編寫(xiě)一個(gè)Frame框架應(yīng)用程序,要求如下:(1) 在窗口設(shè)置兩個(gè)菜單“文件”、“編輯”(2) 在“文件”菜單里添加三個(gè)菜單項(xiàng)“打開(kāi)”、“保存”、“關(guān)閉(3) 在“編輯”菜單里添加兩個(gè)菜單項(xiàng)“復(fù)制”、“粘貼”(4) 點(diǎn)擊關(guān)閉菜單項(xiàng)時(shí),使程序關(guān)閉。解答:importimportimportimportimportimportimportimportimport/*主窗體*/publicclassMyFrameextends

37、FrameprivatestaticfinallongserialVersionUIDprivateFramefrmMain;/窗體MenuBarmb;/菜單欄MenumnuFile;/"文件"菜單MenumnuEdit;/"編輯"菜單MenuItemmiOpen;/"打開(kāi)"菜單項(xiàng)MenuItemmiSave;/"保存"菜單項(xiàng)MenuItemmiClose;/"關(guān)閉"菜單項(xiàng)MenuItemmiCopy;/"復(fù)制"菜單項(xiàng)MenuItemmiPaste;publicMyFrame

38、()/"粘貼"菜單項(xiàng)frmMain=newFrame("/創(chuàng)建菜單欄mb=newMenuBar();主窗體");/創(chuàng)建菜單mnuFile=newMenu("文件");mnuEdit=newMenu("編輯");/創(chuàng)建菜單項(xiàng)miOpen=newMenuItem("打開(kāi)");miSave=newMenuItem("保存");miClose=newMenuItem("關(guān)閉");miCopy=newMenuItem("復(fù)制");miPaste=

39、newMenuItem("粘貼");publicvoidshowFrame()frmMain.setSize(800,600);frmMain.setLocation(100,100);frmMain.setBackground(Color.white);frmMain.setVisible(true);frmMain.setLayout(null);frmMain .addWindowListener(/ 將菜單欄放入窗體中frmMain .setMenuBar( mb);/ 將菜單放入菜單欄中mb.add( mnuFile );mb.add( mnuEdit );/ 將

40、菜單項(xiàng)放入菜單中mnuFile .add( miOpen );mnuFile .add( miSave );mnuFile .add( miClose );mnuEdit .add( miCopy );mnuEdit .add( miPaste );/ 注冊(cè)動(dòng)作事件監(jiān)聽(tīng)器miClose .setActionCommand(miClose .addActionListener(new WindowHandler();miClose_Clicked" );new MenuHandler();/ 注冊(cè)窗口監(jiān)聽(tīng)器/定義一個(gè)內(nèi)部類(lèi),在這個(gè)類(lèi)中編寫(xiě)窗口關(guān)閉事件處理程序。privateclassW

41、indowHandlerextendsWindowAdapterpublicvoidwindowClosing(WindowEvente)System.exit(0);/退出應(yīng)用程序,狀態(tài)碼0表示正常終止,非0表示異常終止。/定義一個(gè)內(nèi)部類(lèi),在這個(gè)類(lèi)中編寫(xiě)動(dòng)作事件處理程序。privateclassMenuHandlerimplementsActionListenerpublicvoidactionPerformed(ActionEvente)if(e.getActionCommand()="miClose_Clicked")System.exit(0);/退出應(yīng)用程序pub

42、licclassTestMyFramepublicstaticvoidmain(Stringargs)/啟動(dòng)主窗體MyFrameguiWindow=newMyFrame();guiWindow.showFrame();JAVA語(yǔ)言程序設(shè)計(jì)期末考試試題及答案4(應(yīng)考必備題庫(kù))一、單選題1、 下列程序段執(zhí)行后的結(jié)果是()。Strings=newString("abcdefg");for(inti=0;i<s.length();i+=2)A) aceg B) ACEGC) abcdefg D) abcd2、有整型數(shù)組:int口x=12,35,8,7,2;,則調(diào)用方法Arra

43、ys.sort(x)后,數(shù)組x中的元素值依次是().A)2781235B)1235872C)3512872D)87123523、下面的程序段創(chuàng)建了BufferedReader類(lèi)的對(duì)象in,以便讀取本機(jī)c盤(pán)my文件夾下的文件1.txt。File構(gòu)造函數(shù)中正確的路徑和文件名的表示是()。Filef=newFile(填代碼處);file=newFileReader(f);in=newBufferedReader(file);A)"./1.txt"B)"./my/1.txt"C)"c:my1.txt"D)"c:my1.txt&quo

44、t;4、 應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是()。Strings1=newString("abc");Strings2=newString("abc");booleanb1=s1.equals(s2);booleanb2=(s1=s2);A)truefalseB)falsetrueC)truetrueD)falsefalse5、 應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是()。Hashtablehashtable=newHashtable();hashtable.put("x","12345"

45、;);hashtable.put("y","67890");hashtable.put("a","abcde");a");A)aB)abcdeC)12345D)678906、 下面語(yǔ)句的功能是()。RandomAccessFileraf2=newRandomAccessFile("1.txt","rw");A)打開(kāi)當(dāng)前目錄下的文件1.txt,既可以向文件寫(xiě)數(shù)據(jù),也可以從文件讀數(shù)據(jù)。B)打開(kāi)當(dāng)前目錄下的文件1.txt,但只能向文件寫(xiě)入數(shù)據(jù),不能從文件讀取數(shù)據(jù)C)打開(kāi)當(dāng)

46、前目錄下的文件1.txt,但不能向文件寫(xiě)入數(shù)據(jù),只能從文件讀取數(shù)據(jù)D)以上說(shuō)法都不對(duì)。7、 應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是()。Strings="12345#aaa#bbb#67890"intn=s.indexOf("#");intk=s.indexOf("#",n+1);intm=s.indexOf("#",k+1);Strings2=s.substring(m+1);A)123456B)67890C)aaaD)bbb8、 下面程序段執(zhí)行后b的值是()Integerinteg=newInteg

47、er(9);booleanb=integinstanceofObject;A)9B)trueC)1D)false9、應(yīng)用程序Test.java的源程序如下,在命令行鍵入:javaTestaaabbc回車(chē)后輸出的結(jié)果是()。publicclassTestpublicstaticvoidmain(Stringargs)intk1=args.length;intk2=args1.length();A)32B)12C)13D)3310、 應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是()。intb=1,2,2,2,2,2;intsum=0;for(inti=0;i<b.length;i+)f

48、or(intj=0;j<bi.length;j+)sum*=bij;A)32B)11C)2D)311、 應(yīng)用程序的main方法中有以下語(yǔ)句,則執(zhí)行后輸出的結(jié)果是()。intx=125,21,5,168,98;intmax=x0;for(inti=1;i<x.length;i+)if(xi>max)max=xi;max);A)125B)5C)98D)16812、程序Test.java編譯運(yùn)行后輸出的結(jié)果是()。publicclassTestStrings1="java"publicstaticvoidmain(Stringargs)intz=2;Testt=

49、newTest();A)java2B)2C)沒(méi)有輸出結(jié)果D)java13、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是()。Strings1="0.5",s2="12"doublex=Double.parseDouble(s1);inty=Integer.parseInt(s2);x+y);A)12.5B)120.5C)12D)“12.5”14、下面的程序創(chuàng)建了一個(gè)文件輸出流對(duì)象,用來(lái)向文件test.txt中輸出數(shù)據(jù),假設(shè)程序當(dāng)前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運(yùn)行3次,則文件test.txt的內(nèi)容是(

50、)。importjava.io.*;publicclassTestpublicstaticvoidmain(Stringargs)tryStrings="ABCDE"byteb=s.getBytes();FileOutputStreamfile=newFileOutputStream("test.txt",true);file.write(b);file.close();catch(IOExceptione)A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE15、 下面那些方法不是接口Collection中已聲明的方法()?A)

51、添加元素的add(Objectobj)方法B)刪除元素的remove(Objectobj)方法C)得到元素個(gè)數(shù)的length()方法D)返回迭彳t器的iterator。方法,迭代器用于元素遍歷二、多選題1、下面main()方法的定義哪些是正確的()?A)publicstaticvoidmain(Stringargs)B)publicstaticvoidmain(String)C)publicstaticvoidmain(Stringargs)D)publicstaticvoidmain(Stringx)2、 線程對(duì)象的生命周期中,通常經(jīng)歷下面哪些狀態(tài)()。A)新建B)運(yùn)行C)就緒D)死亡3、

52、下面說(shuō)法正確的是()。A) final可修飾類(lèi)、屬性(變量)、方法。B) abstract可修飾類(lèi)、方法。C) 抽象方法只有方法頭,沒(méi)有方法體。D)關(guān)鍵字final和abstract不能同時(shí)使用。4、 下面關(guān)于java中輸入/輸出流的說(shuō)法正確的是()。A) FileInputStream與FileOutputStream類(lèi)用讀、寫(xiě)字節(jié)流。B) Reader與Writer類(lèi)用來(lái)讀、寫(xiě)字符流。C) RandomAccessFile既可以用來(lái)讀文件,也可以用來(lái)寫(xiě)文件。D) File類(lèi)用來(lái)處理與文件相關(guān)的操作。5、 下面說(shuō)法正確的是()。A)如果某公共接口被聲明在一個(gè)源文件中,則接口必須與源文件具有相

53、同名字。B)如果源文件包含import語(yǔ)句,則該語(yǔ)句必須是除空行和注釋行外的第一個(gè)語(yǔ)句行C)如果某源文件包含package語(yǔ)句,則該語(yǔ)句必須是第一個(gè)非空、非注釋行。D)接口中的方法必定是抽象方法,但可以不用關(guān)鍵字abstract修飾。6、下面關(guān)于Java中異常處理try塊的說(shuō)法正確的是()?A) try塊后通常應(yīng)有一個(gè)catch塊,用來(lái)處理try塊中拋出的異常。B) catch塊后必須有finally塊。C)可能拋出異常的方法調(diào)用應(yīng)放在try塊中。D)對(duì)拋出的異常的處理必須放在try塊中7、下面關(guān)于進(jìn)程、線程的說(shuō)法正確的是()。A)進(jìn)程是程序的一次動(dòng)態(tài)執(zhí)行過(guò)程。一個(gè)進(jìn)程在其執(zhí)行過(guò)程中,可以產(chǎn)生

54、多個(gè)線程-多線程,形成多條執(zhí)行線索。B)線程是比進(jìn)程更小的執(zhí)行單位,是在一個(gè)進(jìn)程中獨(dú)立的控制流,即程序內(nèi)部的控制流。線程本身不能自動(dòng)運(yùn)行,棲身于某個(gè)進(jìn)程之中,由進(jìn)程啟動(dòng)執(zhí)行。C)Java多線程的運(yùn)行與平臺(tái)相關(guān)。D)對(duì)于單處理器系統(tǒng),多個(gè)線程分時(shí)間片獲取CPU或其他系統(tǒng)資源來(lái)運(yùn)行。對(duì)于多處理器系統(tǒng),線程可以分配到多個(gè)處理器中,從而真正的并發(fā)執(zhí)行多任務(wù)。8、關(guān)于BufferedReader類(lèi)的readLine()方法,以下說(shuō)法正確的是()。A)方法readLine(依RfcS取一行數(shù)據(jù)。B)方法readLine()每次讀取一個(gè)字節(jié)。C)該方法可能拋出IOException異常,調(diào)用該方法時(shí)通常應(yīng)將

55、它放到try塊中,并通過(guò)catch塊處理異常。D)如果讀到流的末尾,該方法返回的結(jié)果為nullo三、程序閱讀題1、閱讀下面的程序,回答問(wèn)題(問(wèn)3分,問(wèn)3分,共6分)。importjava.awt.*;importjavax.swing.*;publicclassTextendsJFramepublicT()super("GridLayout");Containercon=this.getContentPane();con.setLayout(newGridLayout(2,3);con.add(newJButton("a");con.add(newJBu

56、tton("b");con.add(newJButton("c");con.add(newJButton("d");con.add(newJButton("e");con.add(newJButton("f');setSize(200,80);setVisible(true);publicstaticvoidmain(Stringargs口)newT();畫(huà)圖表示程序運(yùn)行后的圖形界面。如果程序通過(guò)實(shí)現(xiàn)某個(gè)接口處理按鈕的動(dòng)作事件,則該接口名為何?接口中的方法頭聲明如何?答案:三GridLayout。叵1二.接口名:ActionListener接口中的方法:publicvoidactionPerformed(ActionEvente)2、閱讀下面的程序,回答問(wèn)題(問(wèn)3分,問(wèn)3分,

溫馨提示

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