《JAVA語言程序設計》期末考試試題及答案應考必備題庫_第1頁
《JAVA語言程序設計》期末考試試題及答案應考必備題庫_第2頁
《JAVA語言程序設計》期末考試試題及答案應考必備題庫_第3頁
《JAVA語言程序設計》期末考試試題及答案應考必備題庫_第4頁
《JAVA語言程序設計》期末考試試題及答案應考必備題庫_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《JAVA語言程序設計》期末考試試題及答案1一、單選擇題1、編譯JavaApplication源程序文件將產生相應的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為(B)。A.java B..classC.html D..exe2、設x=1,y=2,z=3,則表達式y(tǒng)+=z /++x的值是(A)。A. 3 B. 3.5C. 4 D. 53、不允許作為類及類成員的訪問控制符的是(C)。A. public B. privateC.static D.protected4、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為(A)。A.staticvoidmethod() B.publicvoidmethod()C.finalvoidmethod() D.abstractvoidmethod()二、填空題1、開發(fā)與運行Java程序需要經過的三個主要步驟為 編輯源程序、編譯生成字節(jié)碼和運行字節(jié)碼。2、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode碼占用 2—字節(jié)存空間,這樣,無論是中文字符還是英文字符,都是占用 2字節(jié)存空間。3、設x=2,則表達式(x++)/3的值是0。4、若x=5,y=10,則x<y和x>=y的邏輯值分別為true和.false。5、抽象(abstract)方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。最終必inal)方法是不能被當前類的子類重新定義的方法。6、創(chuàng)建一個名為MyPackage的包的語句是packageMyPackage;,該語句應該放在程序的位置為:應該在程序第一句。7、設有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70};則執(zhí)行以下幾個語句后的輸出結果是 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) 多}}}}}}重繼承關系。三、寫出下面程序的運行結果importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB("Hello!","IloveJAVA.");System.out.println(s.toString());}}classAB{Strings1;Strings2;publicAB(Stringstr1,Stringstr2){=str1;=str2;}publicStringtoString(){returns1+s2;}}運行結果:Hello!IloveJAVA.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);}}運行結果:a=60b=20c=30《JAVA語言程序設計》期末考試試題及答案4一、單選題1、下列程序段執(zhí)行后的結果是(A)。Strings=newString("abcdefg");for(inti=0;i<s.length();i+=2){System.out.print(s.charAt(i));}A)acegB)ACEGC)abcdefgD)abcd2、有整型數(shù)組:int口x={12,35,8,7,2};,則調用方法八仃@丫5.5。地a)后,數(shù)組*中的元素值依次是(A).A)2 7 8 12 35 B)12 35 8 7 2C)35 12 8 7 2 D)8 7 12 35 23、下面的程序段創(chuàng)建了BufferedReader類的對象in,以便讀取本機c盤my文件夾下的文件1.txt。File構造函數(shù)中正確的路徑和文件名的表示是(C)。Filef=newFile(填代碼處);file=newFileReader(f);in=newBufferedReader(file);A)"./1.txt"B)"../my/1.txt"C)"c:\\my\\1.txt" D)"c:\my\1.txt"4、應用程序的main方法中有以下語句,則輸出的結果是(A)。Strings1=newString("abc");Strings2=newString("abc");booleanb1=s1.equals(s2);booleanb2=(s1==s2);System.out.print(b1+""+b2);A)truefalse B)falsetrueC)truetrueD)falsefalse5、應用程序的main方法中有以下語句,則輸出的結果是(B)。Hashtablehashtable=newHashtable();hashtable.put("x","12345");hashtable.put("y","67890");hashtable.put("a","abcde");System.out.println(hashtable.get("a"));A)aB)abcdeC)12345D)678906、下面語句的功能是(A)。RandomAccessFileraf2=newRandomAccessFile("1.txt","rw");A)打開當前目錄下的文件1.txt,既可以向文件寫數(shù)據(jù),也可以從文件讀數(shù)據(jù)。B)打開當前目錄下的文件1.txt,但只能向文件寫入數(shù)據(jù),不能從文件讀取數(shù)據(jù)。C)打開當前目錄下的文件1.txt,但不能向文件寫入數(shù)據(jù),只能從文件讀取數(shù)據(jù)。D)以上說法都不對。7、應用程序的main方法中有以下語句,則輸出的結果是(B)。Strings="12345#aaa#bbb#67890";intn=s.indexOf("#");int k=s.indexOf("#",n+1);int m=s.indexOf("#",k+1);Strings2=s.substring(m+1);System.out.println(s2);A)123456B)67890C)aaaD)bbb8、下面程序段執(zhí)行后b的值是(B)。Integerinteg=newInteger(9);booleanb=integinstanceofObject;A)9B)trueC)1D)false9、應用程序Test.java的源程序如下,在命令行鍵入:javaTestaaabbc回車后輸出的結果是(A)。publicclassTest{publicstaticvoidmain(Stringargs[]){intk1=args.length;intk2=args[1].length();System.out.print(k1+""+k2);}}A)32 B)12C)13D)3310、應用程序的main方法中有以下語句,則輸出的結果是(A)。intb[][]={{1},{2,2},{2,2,2}};intsum=0;for(inti=0;i<b.length;i++){for(intj=0;j<b[i].length;j++){sum*=b[i][j];}}System.out.println("sum="+sum);A)32 B)11C)2D)311、應用程序的main方法中有以下語句,則執(zhí)行后輸出的結果是(D)。int[]x={125,21,5,168,98};intmax=x[0];for(inti=1;i<x.length;i++){if(x[i]>max)max=x[i];}}}}}}}System.out.println(max);A)125B)5C)98D)16812、程序Test.java編譯運行后輸出的結果是(A)。publicclassTest{Strings1="java";publicstaticvoidmain(Stringargs[]){intz=2;Testt=newTest();System.out.println(t.s1+z);}}A)java2B)2C)沒有輸出結果 D)java13、應用程序的main方法中有以下語句,則輸出的結果是(A)。Strings1="0.5",s2="12";doublex=Double.parseDouble(s1);inty=Integer.parseInt(s2);System.out.println(x+y);A)12.5 B)120.5C)12 D)“12.5”14、下面的程序創(chuàng)建了一個文件輸出流對象,用來向文件test.txt中輸出數(shù)據(jù),假設程序當前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運行3次,則文件test.txt的容是(D)。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[]){try{Strings="ABCDE";byteb[]=s.getBytes();FileOutputStreamfile=newFileOutputStream("test.txt",true);file.write(b);file.close();}catch(IOExceptione){System.out.println(e.toString());}A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE15、下面那些方法不是接口Collection中已聲明的方法(C)A)添加元素的add(Objectobj)方法B)刪除元素的remove(Object。2)方法C)得到元素個數(shù)的注口?坨^方法口)返回迭代器的讓?「@仿武)方法,迭代器用于元素遍歷二、多選題1、下面1^皿()方法的定義哪些是正確的(ACD)?A)publicstaticvoidmain(Stringargs[]){}B)publicstaticvoidmain(String[]){}C)publicstaticvoidmain(String[]args){}D)publicstaticvoidmain(String[]x){}2、線程對象的生命周期中,通常經歷下面哪些狀態(tài)(ABCD)。A)新建B)運行 C)就緒 D)死亡3、下面說確的是(ABCD)。final可修飾類、屬性(變量)、方法。abstract可修飾類、方法。抽象方法只有方法頭,沒有方法體。D)關鍵字final和abstract不能同時使用。4、下面關于java中輸入/輸出流的說確的是(ABCD)。FileInputStream與FileOutputStream類用讀、寫字節(jié)流。Reader與Writer類用來讀、寫字符流。RandomAccessFile既可以用來讀文件,也可以用來寫文件。File類用來處理與文件相關的操作。5、下面說確的是(ABCD)。人)如果某公共接口被聲明在一個源文件中,則接口必須與源文件具有相同名字。8)如果源文件包含import語句,則該語句必須是除空行和注釋行外的第一個語句行。0如果某源文件包含package語句,則該語句必須是第一個非空、非注釋行。D)接口中的方法必定是抽象方法,但可以不用關鍵字abstract修飾。6、下面關于Java中異常處理try塊的說確的是(AC)?try塊后通常應有一個catch塊,用來處理try塊中拋出的異常。catch塊后必須有finally塊。??赡軖伋霎惓5姆椒ㄕ{用應放在try塊中???對拋出的異常的處理必須放在try塊中7、下面關于進程、線程的說確的是(ABCD)。A)進程是程序的一次動態(tài)執(zhí)行過程。一個進程在其執(zhí)行過程中,可以產生多個線程——多線程,形成多條執(zhí)行線索。B)線程是比進程更小的執(zhí)行單位,是在一個進程中獨立的控制流,即程序部的控制流。線程本身不能自動運行,棲身于某個進程之中,由進程啟動執(zhí)行。C)Java多線程的運行與平臺相關。D)對于單處理器系統(tǒng),多個線程分時間片獲取CPU或其他系統(tǒng)資源來運行。對于多處理器系統(tǒng),線程可以分配到多個處理器中,從而真正的并發(fā)執(zhí)行多任務。8、關于BufferedReader類的readLine()方法,以下說確的是(ACD)。A)方法readLine()每次讀取一行數(shù)據(jù)。B)方法readLine()每次讀取一個字節(jié)。C)該方法可能拋出IOException異常調用該方法時通常應將它放到try塊中并通過catch塊處理異常。口)如果讀到流的末尾,該方法返回的結果為null。三、程序閱讀題1、閱讀下面的程序,回答問題(?問3分,?問3分,共6分)。importjava.awt.*;importjavax.swing.*;publicclassTextendsJFrame{publicT(){super("GridLayout");Containercon=this.getContentPane();con.setLayout(newGridLayout(2,3));con.add(newJButton("a"));con.add(newJButton("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();}}?畫圖表示程序運行后的圖形界面。?如果程序通過實現(xiàn)某個接口處理按鈕的動作事件,則該接口名為何?接口中的方法頭聲明如何??接口名:ActionListener接口中的方法:publicvoidactionPerformed(ActionEvente)2、閱讀下面的程序,回答問題(?問3分,?問3分,共6分)。。importjava.util.*;publicclassT{publicstaticvoidmain(Stringargs[]){Setset=newTreeSet();set.add(newInteger(10));set.add(newInteger(5));set.add(newInteger(15));set.add(newInteger(5));set.add(newInteger(10));System.out.println("size="+set.size());Iteratorit=set.iterator();while(it.hasNext()){System.out.print(it.next()+"");}}}?程序運行后輸出的結果如何??說明java中的集合心?t接口)和映射(Map接口)的主要區(qū)別。答案:?size=35 10 15?Set接口是不包含重復元素的集合;Map接口將鍵映射到值,鍵可以重復,但每個鍵最多只能映射一個值。3、閱讀下面的程序,并回答問題(?問3分,?問3分,共6分)。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));while(true){Stringstr=buf.readLine();if(str.equals("quit"))break;intx=Integer.parseInt(str);System.out.println(x*x);}}}編譯運行上面的程序:?從鍵盤輸入5,回車后輸出的結果如何??從鍵盤輸入口5{,回車后程序執(zhí)行情況如何?答案:?25?終止應用程序的運行。《JAVA語言程序設計》期末考試試題及答案2一.判斷題TOC\o"1-5"\h\z1Java的源代碼中定義幾個類,編譯結果就生成幾個以.class為后綴的字節(jié)碼文件。(/)2Java程序里,創(chuàng)建新的類對象用關鍵字new,回收無用的類對象使用關鍵字free。(x)3-Java有垃圾回收機制,存回收程序可在指定的時間釋放存對象。 (x)4?構造函數(shù)用于創(chuàng)建類的實例對象,構造函數(shù)名應與類名相同,返回類型為void。(x)5?在異常處理中,若try中的代碼可能產生多種異常則可以對應多個catch語句,若catch中的參數(shù)類型有父類子類關系,此時應該將父類放在后面,子類放在前面。 (/)?擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。 (/)-Java的屏幕坐標是以像素為單位,容器的左下角被確定為坐標的起點。 (x)8?靜態(tài)初始化器是在其所屬的類加載存時由系統(tǒng)自動調用執(zhí)行。 (/)9?在1@丫@中對象可以賦值,只要使用賦值號(等號)即可,相當于生成了一個各屬性與賦

1A23A4A5A6789值對象相同的新對象。二.單項選擇題?Javaapplication中的主類需包含main方法以下哪項是main方法的正確形參?(B)、StringargsB、Stringar[]C、CharargD、StringBufferargs[]?以下關于繼承的敘述正確的是(A)。A、在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C、在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D、在Java中接口只允許單一繼承”@瓦乜)方法使用哪種類型的參數(shù)?(A)、Graphics B、Graphics2DC、StringD、Color以下哪個不是Java的原始數(shù)據(jù)類型(B)、int B、Boolean C、float D、char以下哪項可能包含菜單條(B)。、Panel B、Frame C、Applet D、Dialog若需要定義一個類域或類方法,應使用哪種修飾符?(A)A、static B、package C、private D、public在瀏覽器中執(zhí)行applet程序,以下選項中的哪個方法將被最先執(zhí)行(A)。A、init() B、start() C、destroy() D、stop()給出下面代碼,關于該程序以下哪個說法是正確的?(C)publicclassPerson{staticintarr[]=newint[5];publicstaticvoidmain(Stringa[]){System.out.println(arr[0]);}}A、編譯時將產生錯誤 B、編譯時正確,運行時將產生錯誤C、輸出零 D、輸出空下列哪些語句關于J@丫@存回收的說明是正確的?(B)A、程序員必須創(chuàng)建一個線程來釋放存B、存回收程序負責釋放無用存

C、存回收程序允許程序員直接釋放存D、存回收程序可以在指定的時間釋放存對象10.以下哪個關鍵字可以用來對對象加互斥鎖?(B)A、transientB、synchronized C、serializeD、static11.以下代碼段執(zhí)行后的輸出結果為(A)intx=-3;inty=-10;System.out.println(y%x);A、 -1 B、2 C、1D、312.有以下程序片段,下列哪個選項不能插入到行1。(D)..publicclassInteresting{.//dosth.}、importjava.awt.*; B、packagemypackage;C、classOtherClass{ }D、publicclassMyClass{}.設有下面兩個賦值語句:a=Integer.parseInt(“12”);b=Integer.valueOf(“12”).intValue();下述說確的是(D)。A、a是整數(shù)類型變量,b是整數(shù)類對象。B、a是整數(shù)類對象,b是整數(shù)類型變量。C、a和b都是整數(shù)類對象并且值相等。D、a和b都是整數(shù)類型變量并且值相等。?FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父類,以下哪個類可能是FilterOutputStream構造函數(shù)的參數(shù)類型?AA、OutputStream B、FileC、InputStream D、BufferedOutputStream15?在編寫JavaApplet程序時,需在程序的開頭寫上(B)語句。A、importjava.awt.*; B、importjava.applet.Applet;C、importjava.io.*; D、importjava.awt.Graphics;16?類Parent、Child定義如下:?publicclassParent2.{publicfloataFun(floata,floatb)throwsIOException{ }4.}5.publicclassChildextendsParent{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、byte B、shortC、int D、double19、關于以下代碼段的說確的是(D)1.Strings="abcde";2.StringBuffers1=newStringBuffer("abcde");3.if(s.equals(s1))s1=null;5.if(s1.equals(s))s=null;A、第1行編譯錯誤,String的構造器必須明確調用B、第3行編譯錯誤,因為s與s1有不同的類型C、編譯成功,但執(zhí)行時在第5行有異常拋出D、編譯成功,過程中也沒有異常拋出20、編譯并運行以下程序,以下描述哪個選項是正確的(C)classX{protectiedStringtoString()i{returnsuper.toString();}

4.}A4.}A、編譯通過運行無異常C、行2出錯,不能成功編譯B、編譯通過但運行時出錯D、不能成功編譯,行3出錯三.程序閱讀題1?以下程序的輸出結果為相等。classStringTest1{publicstaticvoidmain(String[]args){Strings1="hello";Strings2=newString("hello");if(s1.equals(s2)){System.out.println("相等");}else{System.out.println("不相等");}}}2?以下程序段的輸出結果為56789publicclassTestArray{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();}3.寫出以下程序的功能。importjava.io.*;publicclassTestFile{publicstaticvoidmain(Stringargs[])throwsException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"));Strings;while(true){System.out.print("請輸入一個字符串:");System.out.flush();s=br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();}bw.close();}}功能:從鍵盤逐一輸入字符串,逐一輸出至input.txt文件中,直至輸入空行。4.閱讀以下程序,寫出輸出結果。classAnimal{Animal(){System.out.print("Animal");}}publicclassDogextendsAnimal{Dog(){System.out.print("Dog");}publicstaticvoidmain(String[]args){Dogsnoppy=newDog();}}輸出結果:AnimalDog《JAVA語言程序設計》期末考試試題及答案3一、單項選擇題1、如下哪個是Java中的標識符(D)A、publicB、superC、3numberD、width2、如下哪個是Java中的標識符(A)A、fieldnameB、superC、3numberD、#number3、已知如下定義:Strings="story";下面哪個語句不是合法的(C)A、s+="books"; B、s=s+100;C、intlen=s.length; D、Stringt=s+“abc”;4、如下哪個是Java中有效的關鍵字(C)A、nameB、helloC、falseD、good5、下面的代碼段執(zhí)行之后count的值是什么(D)intcount=1;for(inti=1;i<=5;i++){count+=i;}System.out.println(count);A、5 B、1 C、15 D、166、定義一個類,必須使用的關鍵字是(B)A、public B、class C、interface D、static7、定義一個接口必須使用的關鍵字是(C)A、public B、class C、interface D、static8、如果容器組件p的布局是BorderLayout,則在p的下邊中添加一個按鈕b,應該使用的語句是(C)A、p.add(b); B、p.add(b,"North");C、p.add(b,"South"); D、b.add(p,"North");9、聲明并創(chuàng)建一個按鈕對象b,應該使用的語句是(A)A、Buttonb=newButton();B、buttonb=newbutton();C、Buttonb=newb(); D、b.setLabel(“確定”);10、Frame對象默認的布局管理器是(B)A、FlowLayout B、BorderLayoutC、CardLayout D、null11、下列哪一個import命令可以使我們在程序中創(chuàng)建輸入/輸出流對象(C)A、importjava.sql.*; B、importjava.util.*;C、importjava.io.*; D、import.*;12、下面哪一個import命令可以為我們提供編寫網(wǎng)絡應用程序的類(D)A、importjava.sql.*; B、importjava.util.*;C、importjava.io.*; D、import.*;13、如果需要從文件中讀取數(shù)據(jù),則可以在程序中創(chuàng)建哪一個類的對象(A)A、FileInputStream B、FileOutputStreamC、DataOutputStreamD、FileWriter二、填空題1、如果將類MyClass聲明為public,它的文件名稱必須是(MyC為ss.java)才能正常編譯。2、Java程序中的單行注釋符是(〃),多行注釋符是(/**/)。3、Java中布爾類型的常量有兩種,它們是(=皿?)和(false)°4、Java中用于定義小數(shù)的關鍵字有兩個:(float)和(double),后者精度高于前者。5、Java中用于兩個數(shù)相等比較的運算符是:(==),用于不相等比較的運算符是(<>)。6、在Java中定義一個字符串類型的變量str的語句是:(Stringstr;),定義一個具有10個元素的整型數(shù)組a的語句是:(int[]arr=newint[10];)°7、導入mypackage包中的所類的命令是(importmypackage.*;)°8、當聲明一個數(shù)組intarr[]=newint[5];時,這代表這個數(shù)組所保存的變量類型是int),數(shù)組名是(arr),數(shù)組的大小為(5),數(shù)組元素下標的使用圍是(0到4)。9、假設x=13,y=4,則表達式x%y!=0的值是(true),其數(shù)據(jù)類型是(boolean)。10、異常處理是由(try)、(catch)和finally塊三個關鍵所組成的程序塊。11、以下程序段的輸出結果是(三角形)intx=5,y=6,z=4;if(x+y>z&&x+z>y&&z+y>x)System.out.println("三角形");elseSystem.out.println("不是三角形");12、下面程序段的執(zhí)行結果是是5432)inta[]={2,3,4,5,6};for(inti=a.length-1;i>=0;i--)System.out.print(a[i]+"");三、程序閱讀題1、以下程序的輸出結果為_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、以下程序的輸出結果為—課程號:101課程名:ASP學分:3—。publicclassCourse{privateStringcNumber;privateStringcName;privateintcUnit;publicCourse(Stringnumber,Stringname,intunit){cNumber=number;cName=name;cUnit=unit;}publicvoidprintCourseInfo(){System.out.println("課程號:"+cNumber+"課程名:"+cName+"學分:"+cUnit);}}classCourseTest{publicstaticvoidmain(String[]args){Coursec;c=newCourse("101","ASP",3);c.printCourseInfo();}}3、以下程序的輸出結果為__湯姆貓體重:20.0斤___。publicclassTom{privatefloatweight;privatestaticStringname;publicvoidsetWeight(floatweight){this.weight=weight;}privatevoidout(){System.out.println(name+"體重:"+weight+"斤");}publicstaticvoidmain(String[]args){T="湯姆貓";Tomcat=newTom();cat.setWeight(20);cat.out();}}4、以下程序的輸出結果_:Tom年齡:15家庭住址:金水區(qū):66123456學校:九中_。publicclassFather{Stringname,address,tel;intage;publicFather(Stringname,intage){=name;this.age=age;voidout(){System.out.print(":"+name);System.out.print("年齡:"+age);}voidoutOther(){System.out.print("家庭住址:"+address);System.out.print(":"+tel);}}classSonextendsFather{Stringschool;publicSon(Stringname,intage){super(name,age);}voidout(){super.out();super.outOther();System.out.println("學校:"+school);}publicstaticvoidmain(Stringargs[]){Sonson=newSon("Tom",15);son.address="金水區(qū)";son.school="九中";son.tel="66123456";son.out();}}5、下列程序的運行結果是__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、按以下要求編寫程序(1)創(chuàng)建一個Rectangle類,添加width和height兩個成員變量(2)在Rectangle中添加兩種方法分別計算矩形的周長和面積(3)編程利用Rectangle輸出一個矩形的周長和面積解答:publicclassRectangle{floatwidth,height;publicRectangle(floatwidth,floatheight){this.width=width;this.height=height;}publicfloatgetLength(){return(this.width+this.height)*2;}publicfloatgetArea(){returnthis.width*this.height;}publicstaticvoidmain(String[]args){Rectanglerect=newRectangle(10,20);System.out.println("周長是:"+rect.getLength());System.out.println("面積是:"+rect.getArea());}}2、按以下要求編寫程序(1)編寫Animal接口,接口中聲明run()方法(2)定義Bird類和Fish類實現(xiàn)Animal接口(3)編寫B(tài)ird類和Fish類的測試程序,并調用其中的run()方法解答:publicinterfaceAnimal{voidrun();}classBirdimplementsAnimal{publicvoidrun(){System.out.println("鳥兒在飛...");}}classFishimplementsAnimal{publicvoidrun(){System.out.println("魚兒在游...");}}publicclassTestAnimal{publicstaticvoidmain(String[]args){Birdbird=newBird();bird.run();Fishfish=newFish();fish.run();}}3、編寫一個Frame框架應用程序,要求如下:在窗口設置兩個菜單“文件”、“編輯”在“文件”菜單里添加三個菜單項“打開”、“保存”、“關閉”在“編輯”菜單里添加兩個菜單項“復制”、“粘貼”點擊關閉菜單項時,使程序關閉。解答:importjava.awt.Color;importjava.awt.Frame;importjava.awt.Menu;importjava.awt.MenuBar;importjava.awt.MenuItem;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;/**主窗體

*/publicclassMyFrameextendsFrame{privatestaticfinallongserialVersionUiD=privateFramefrmMain;//窗體MenuBarmb;//菜單欄MenumnuFile;//"文件"菜單MenumnuEdit;//"編輯"菜單MenuitemmiOpen;//"打開"菜單項MenuitemmiSave;//"保存"菜單項MenuitemmiClose;//"關閉"菜單項MenuitemmiCopy;//"復制"菜單項MenuitemmiPaste;//"粘貼"菜單項publicMyFrame(){frmMain=newFrame("主窗體");//創(chuàng)建菜單欄6895463895656626294L;mb=newMenuBar();//創(chuàng)建菜單mnuFile=newMenu("文件");mnuEdit=newMenu("編輯");//創(chuàng)建菜單項miOpen=newMenuitem("打開");miSave=newMenuitem("保存");miClose=newMenuitem("關閉");miCopy=newMenuitem("復制");miPaste=newMenuitem("粘貼");}publicvoidshowFrame(){frmMain.setSize(800,600);frmMain.setLocation(100,100);frmMain.setBackground(Color.white);frmMain.setVisible(true);frmMain.setLayout(null);frmMain.addWindowListener(newWindowHandler());//注冊窗口監(jiān)聽器//將菜單欄放入窗體中frmMain.setMenuBar(mb);//將菜單放入菜單欄中mb.add(mnuFile);mb.add(mnuEdit);//將菜單項放入菜單中mnuFile.add(miOpen);mnuFile.add(miSave);mnuFile.add(miClose);mnuEdit.add(miCopy);mnuEdit.add(miPaste);//注冊動作事件監(jiān)聽器miClose.setActionCommand("miClose_Clicked");miClose.addActionListener(newMenuHandler());}//定義一個部類,在這個類中編寫窗口關閉事件處理程序。privateclassWindowHandlerextendsWindowAdapter{publicvoidwindowClosing(WindowEvente){System.exit(0);//退出應用程序,狀態(tài)碼0表示正常終止,非0表示異常終止。}}//定義一個部類,在這個類中編寫動作事件處理程序。privateclassMenuHandlerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getActionCommand()=="miClose_Clicked"){System.exit(0);//退出應用程序}}publicclassTestMyFrame{publicstaticvoidmain(String[]args){//啟動主窗體MyFrameguiWindow=newMyFrame();guiWindow.showFrame();}}《JAVA語言程序設計》期末考試試題及答案5一、單選題1、當某一線程正處于休眠狀態(tài),而另一個線程用Thread類中的interrupt()方法中斷它時,拋出的異常類型是(C)。A)IOException B)RuntimeExceptionC)InterruptedExceptionD)ClassNotFoundException2、下面的程序段的功能是(D)。Filefile1=newFile("d:\\xxx\\yyy\\zzz");file1.mkdirs();人)在當前目錄下生成子目錄:\xxx\yyy\zzzB)生成目錄:e:\xxx\yyy\zzz。)在當前目錄下生成文件xxx.yyy.zzz D)以上說法都不對3、應用程序的main方法中有以下語句,則輸出的結果是(B)。Strings="xxxxxxxxxxxxxxx#123#456#zzzzz";intn=s.indexOf("#");intk=s.indexOf("#",n+1);Strings2=s.substring(n+1,k);System.out.println(s2);A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz4、關于下面的程序Test.java說確的是(D)°publicclassTest{Stringx="1";inty;publicstaticvoidmain(Stringargs[]){intz=2;System.out.println(x+y+z);}A)3 B)102C)12 D)程序有編譯錯誤5、應用程序的main方法中有以下語句,則輸出的結果是(A)。intb[][]={{1,1,1},{2,2},{3}};intsum=0;for(inti=0;i<b.length;i++){for(intj=0;j<b[i].length;j++){sum+=b[i][j];}}System.out.println("sum="+sum);A)10 B)6C)9D)136、應用程序的main方法中有以下語句,則執(zhí)行后輸出的結果是(B)。int[]x={125,21,5,168,98};intmin=x[0];for(inti=1;i<x.length;i++){if(x[i]<min)min=x[i];}System.out.println(min);A)125B)5C)98D)1687、應用程序的main方法中有以下語句,則輸出的結果是(D)。Hashtablehashtable=newHashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+hashtable.get("200").toString()+hashtable.get("100").toString());A)aaaB)bbbC)cccD)cccbbbaaa8、以下關于java異常說法不正確的是(D)。A)Throwable類是Java語言中Error類和Exception類的父類。B)當異常對象是Exception類(或其子類)的實例時,能通過Java虛擬機或者throw語句拋出該異常對象,并能通過try…catch…finally處理。。如果只用一個catch塊捕捉多個異常對象,則catch子句中的參數(shù)類型應是所有異常對象的父類。D)以上說法都不對。9、下面的程序創(chuàng)建了一個文件輸出流對象,用來向文件test.txt中輸出數(shù)據(jù),假設程序當前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運行3次,則文件test.txt的容是(D)。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[]){try{Strings="ABCDE";byteb[]=s.getBytes();FileOutputStreamfile=newFileOutputStream("test.txt",true);file.write(b);file.close();}catch(IOExceptione){System.out.println(e.toString());}}}A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE10、下面說法不正確的是(D)?A)列表(115{)、集合(5?{)和映射3@口)都是java.util包中的接口。B)List接口是可以包含重復元素的有序集合。C)Set接口是不包含重復元素的集合。D)Map接口將鍵映射到值,鍵可以重復,但每個鍵最多只能映射一個值。二、多選題1、下面哪些關鍵字能用來控制對類成員的訪問(ABC)?A)publicB)protectedC)privateD)default2、下面關于Java中異常處理try塊的說確的是(AC)?try塊后通常應有一個catch塊,用來處理try塊中拋出的異常。catch塊后必須有finally塊。??赡軖伋霎惓5姆椒ㄕ{用應放在try塊中???對拋出的異常的處理必須放在try塊中3、線程對象的生命周期中,通常經歷下面哪些狀態(tài)(ABCD)。A)新建 B)運行 C)就緒 D)死亡4、定義如下的二維數(shù)組6,下面的說確的是(ACD)。intb[][]={{1,2,3},{4,5},{6,7,8}}};A)b.length的值是3。B)b[1].length的值是3。C)b[1][1]的值是5。D)二維數(shù)組6的第一行有3個元素5類B是一個抽象類類C是類B的非抽象子類,下列創(chuàng)建對象x1的語句中正確的是(BC)。A)Bx1=newB(); B)Bx1=newC();Cx1=newC(); D)Cx1=newB();6、下面關于進程、線程的說確的是(ABCD)。A)進程是程序的一次動態(tài)執(zhí)行過程。一個進程在其執(zhí)行過程中,可以產生多個線程——多線程,形成多條執(zhí)行線索。B)線程是比進程更小的執(zhí)行單位,是在一個進程中獨立的控制流,即程序部的控制流。線程本身不能自動運行,棲身于某個進程之中,由進程啟動執(zhí)行。C)Java多線程的運行與平臺相關。D)對于單處理器系統(tǒng),多個線程分時間片獲取CPU或其他系統(tǒng)資源來運行。對于多處理器系統(tǒng),線程可以分配到多個處理器中,從而真正的并發(fā)執(zhí)行多任務。7、下面關于外部類和部類成員的相互訪問的規(guī)則中,正確的選項是(AD)。A)部類可以直接訪問外部類的成員B)外部類可以直接訪問部類的成員C)外部類不能訪問部類的成員D)外部類可通過創(chuàng)建部類的實例來訪問部類的成員三、程序閱讀題1、閱讀下面的程序代碼,并回答問題(?問3分,?問3分,共6分)。Strings1=newString("abcde");Strings2=newString("abcde");booleanb1=s1.equals(s2);booleanb2=s1==s2;System.out.print(b1+""+b2);?程序段執(zhí)行后,在命令行的輸出結果如何??解釋輸出(1)的結果的原因?答案:?truefalse?equals方法比較兩個字符串的容是否相等;運算符“==”判斷兩個對象是否指向同一個引用,即是否為同一個對象。2、閱讀下面的程序,并回答問題(?問3分,?問3分,共6分)。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));while(true){Stringstr=buf.readLine();if(str.equals("quit"))break;intx=Integer.parseInt(str);System.out.println(x*x);}}}編譯運行上面的程序:?從鍵盤輸入10,回車后輸出的結果如何??從鍵盤輸入?*讓,回車后程序能正確執(zhí)行嗎?為什么?答案:?100?不能;因為方法Integer.parseInt(str)不能將字符串“exit”轉化為整數(shù),拋出異常。3、寫出下面的程序編譯、運行后的結果(6分)。publicclassTest{publicstaticvoidmain(Stringargs[]){newStudent("Tom",'m',90,88);newStudent("Jack",'m',66,89);newStudent("Mary",'f',76,86);System.out.println("name\tsex\tchinese\tenglish");Student.print();}}classStudent{protected String name;protected char sex;protected int chinese;protectedintenglish;protectedStudentnext;staticStudentlist;Student(Stringname,charsex,intchinese,intenglish){=name;this.sex=sex;this.chinese=chinese;this.english=english;this.next=list;list=this;}staticvoidprint(){Studentfriend=list;if(friend==null)System.out.println("Thelistisempty.");else{do{System.out.println(friend.toString());friend=friend.next;}while(friend!=null);}}publicStringtoString(){returnnewString(name+"\t"+sex+"\t"+chinese+"\t"+english);答案:namesexchineseenglishMaryf7686Jackm6689Tomm9088《JAVA語言程序設計》期末考試試題及答案6

一、填空題1.定義類的保留字是(class),定義接口的保留字是(interface)。-Socket通常也稱為(套接字),用于描述(匕地址)和(端口)。3.線程的優(yōu)先級在(1)至(10)之間,數(shù)值越大(任務越緊急)。4.構造方法是一種特殊的成員方法,構造方法名與(類名)相同。5?1@丫@語言只允許單繼承,指每個類只能有一個(父類)。-Java源程序的擴展名是(.java),經過編譯后的程序的擴展名是(.class)。.在一個時間只能由一個線程訪問的資源稱為(臨界資源)。訪問臨界資源的代碼(臨界代碼)。.在多線程系統(tǒng)中,多個線程之間有(同步)和(互斥)兩種關系。二、選擇題關于選擇結構下列哪個說確?(B)1£語句和?15?語句必須成對出現(xiàn)if語句可以沒有else語句對應switch結構中每個case語句中必須用break語句switch結構中必須有default語句卬班卜循環(huán)和do…while循環(huán)的區(qū)別是: (D)沒有區(qū)別,這兩個結構任何情況下效果一樣while循環(huán)比do…while循環(huán)執(zhí)行效率高while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次do…while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次關于for循環(huán)和while循環(huán)的說法哪個正確? (B)while循環(huán)先判斷后執(zhí)行,^「循環(huán)先執(zhí)行后判斷。while循環(huán)判斷條件一般是程序結果,^「循環(huán)的判斷條件一般是非程序結果兩種循環(huán)任何時候都不可以替換兩種循環(huán)結構中都必須有循環(huán)體,循環(huán)體不能為空下列修飾符中與訪問控制無關的是(D)(A(AB-方法體為空D. 定義方法時必須使用privateprotectedvoid的含義:方法沒有返回值沒有意義return語句:B-publicD-final只能讓方法返回數(shù)值方法中可以有多句returnB?B?方法都必須含有D-不能用來返回對象(B)A?同一個類的對象共用同一段存B、同一個類的對象使用不同的存段,但靜態(tài)成員共享相同的存空間C?對象的方法不占用存D?以上都不對8?下列說法哪個正確CA?不需要定義類,就能創(chuàng)建對象B?對象中必須有屬性和方法C?屬性可以是簡單變量,也可以是一個對象D、屬性必須是簡單變量9?下列說法哪個正確? (A)A、一個程序可以包含多個源文件B、一個源文件中只能有一個類C、一個源文件中可以有多個公共類D、一個源文件只能供一個程序使用?關于方法main()的說法哪個正確?(C)A?方法1^皿()只能放在公共類中Bmain()的頭定義可以根據(jù)情況任意更改C?一個類中可以沒有1^皿()方法D?所有對象的創(chuàng)建都必須放在山@皿()方法中?構造函數(shù)何時被調用? (A)A、創(chuàng)建對象時 B、類定義時C、使用對象的方法時 D、使用對象的屬性時?抽象方法:(C)A、可以有方法體B、可以出現(xiàn)在非抽象類中C、是沒有方法體的方法D、抽象類中的方法都是抽象方法13?關于繼承的說確的是: (B)A、子類將繼承父類所有的屬性和方法。B、子類將繼承父類的非私有屬性和方法。C、子類只繼承父類public方法和屬性D、子類只繼承父類的方法,而不繼承屬性14?關于構造函數(shù)的說法哪個正確? (C)A、一個類只能有一個構造函數(shù)B、一個類可以有多個不同名的構造函數(shù)C、構造函數(shù)與類同名D、構造函數(shù)必須自己定義,不能使用父類的構造函數(shù)15?this和super:CA、都可以用在1^皿()方法中B、都是指一個存地址C、不能用在1^皿()方法中D、意義相同16,關于super的說確的是:A、是指當前對象的存地址B、是指當前對象的父類對象的存地址C、是指當前對象的父類口、可以用在山@皿()方法中17?覆蓋與重載的關系是 (A)A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個類中B?覆蓋方法可以不同名,而重載方法必須同名C?final修飾的方法可以被覆蓋,但不能被重載D?覆蓋與重載是同一回事18?關于接口哪個正確? (A)A、實現(xiàn)一個接口必須實現(xiàn)接口的所有方法B?一個類只能實現(xiàn)一個接口C?接口間不能有繼承關系D?接口和抽象類是同一回事19?異常包含下列哪些容? (A)A?程序執(zhí)行過程中遇到的事先沒有預料到的情況B?程序中的語法錯誤C?程序的編譯錯誤D?以上都是? 對于已經被定義過可能拋出異常的語句,在編程時: (A)A、必須使用try/catch語句處理異常,或用throws將其拋出B?如果程序錯誤,必須使用紅丫/。@^^語句處理異常C?可以置之不理D?只能使用丘丫/。@^^語句處理? 字符流與字節(jié)流的區(qū)別在于(D)A?前者帶有緩沖,后者沒有B?前者是塊讀寫,后者是字節(jié)讀寫二者沒有區(qū)別,可以互換使用每次讀寫的字節(jié)數(shù)不同22.下列流中哪個不屬于字節(jié)流(D)A.FileInputStreamB.BufferedInputStreamFilterInputStreamInputStreamReader三、程序填空題publicclassSum{publicstaticvoidmain(String[]args){intj=10;System.out.println("jis:"+j);calculate(j);System.out.println("Atlast,jis:"+j);}staticvoidcalculate(intj){for(inti=0;i<10;i++)j++;System.out.println("jincalculate()is:"+j);}}輸出結果為:TOC\o"1-5"\h\zjis: (1)jincalculate()is: (2)Atlastjis: (3)答案:(1)10;(2)20;(3)10。按要求填空abstractclassSuperAbstract{voida(){…}abstractvoidb();abstractintc(inti);}interfaceAsSuper{voidx();}abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper{publicvoidb(){…}

abstractStringf();}publicclassInheritAbstractextendsSubAbstract{publicvoidx(){…}publicintc(inti){…}publicStringf(){…}publicstaticvoidmain(Stringargs[]){InheritAbstractinstance=newInheritAbstract();instance.x();instance.a();instance.b();instance.c(100);System.out.println(instance.f());}}在以上這段程序中:抽象類有:SuperAbstract和 (1)(寫出類名)非抽象類有: (2) (寫出類名)接口有: (3) (寫出接口名)AsSuper中的*()方法是(4)方法,所以在InheritAbstract中必須對它進行(5)答案:SuperAbstract;InheritAbstract;AsSuper;抽象;覆蓋和實現(xiàn)。按注釋完成程序publicclassLeaf{privateinti=0;//此屬性值用于檢驗Leafincrement(){〃定義方法increment(),返回值是Leaf類的對象i++;return(1);//將當前對象的地址作為返回值返回}voidprint(){System.out.println("i="+i);}publicstaticvoidmain(Stringargs[]){Leafx=(2);〃創(chuàng)建Leaf類的對象xx.increment().increment().increment().print();}//多次調用方法increment(),返回的都是*的地址,i值表示調用次數(shù)}輸出結果為i=(3)答案:this;newLeaf();3按注釋提示完成文件復制的程序//FileStream源代碼如下:importjav

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論