JAVA期末試題及答案_第1頁
JAVA期末試題及答案_第2頁
JAVA期末試題及答案_第3頁
JAVA期末試題及答案_第4頁
JAVA期末試題及答案_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

?Java程序設計》課程試卷.使用Java語言編寫的源程序保存時的文件擴展名是()o(A).class (B).java (0.cpp (D).txtTOC\o"1-5"\h\z.設inta=-2,則表達式a>>>3的值為( )。(A)0 (B)3 (Q8 (D)-1.設有數(shù)組的定義int[]a=newint[3],則下面對數(shù)組元素的引用錯誤的是( )。(A)a[0]; (B)a[a.length-1];(C)a[3]; (D)inti=1 ;a[i];.在類的定義中可以有兩個同名函數(shù),這種現(xiàn)象稱為函數(shù)( )。(A)封裝 (B)繼承(C)覆蓋 (D)重載.在類的定義中構造函數(shù)的作用是( )。(A)保護成員變量 (B)讀取類的成員變量(C)描述類的特征 (D)初始化成員變量.下面關鍵字中,哪一個不是用于異常處理語句( )。(A)try (B)breakCC)catch (D)finally.類與對象的關系是( )o(A)類是對象的抽象 (B)對象是類的抽象(。對象是類的子類 (D)類是對象的具體實例.下面哪一個是Java中不合法的標識符( )。(A$persons (B)twoNum(0_myVar (D)*point.為AB類的一個無形式參數(shù)無返回值的方法 method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為\o"CurrentDocument"() 。staticvoidmethod()publicvoidmethod()CC)finalvoidmethod()(D)abstractvoidmethod().欲構造ArrayList類的一個實例,此類繼承了 List接口,下列哪個方法是正確的( )。ArrayListmyList=newObject()ListmyList=newArrayList()ArrayListmyList=newList()ListmyList=newList().Java源文件和編譯后的文件擴展名分別為( )(A).class和.java (B).java和.class(C).class和.class (D).java和.java.在JavaApplet程序用戶自定義的Applet子類中,一般需要重載父類的() 方法來完成一些畫圖操作。(A)start() (B)stop()(C)init() (D)paint().對于一個Java源文件,import,class定義以及package正確的順序是:(A)package,import,class (B)class,import,package(C)import,package,class(D)package,class,import.下面哪個是非法的:(A)intI=32; (B)floatf=45.0;(C)doubled=45.0; (D)charc= 'u'; 〃符號錯15.Java語言使用的字符碼集是(A)ASCII (B)BCD(C)DCB (D)Unicode16.如果一個類的成員變量只能在所在類中使用,則該成員變量必須使用的修飾是(A)public (B)protected(C)private (D)static.下面關于main方法說明正確的是publicmain(Stringargs[])publicstaticvoidmain(Stringargs[])privatestaticvoidmain(Stringargs[])voidmain().哪個關鍵字可以對對象加互斥鎖? ()(A)transient ( B)synchronized(C)serialize (D)static.關于抽象方法的說法正確的是 ()(A)可以有方法體 (B)可以出現(xiàn)在非抽象類中(C)是沒有方法體的方法 (D)抽象類中的方法都是抽象方法.java.io包的File類是(A) 字符流類 (B)字節(jié)流類

21.非流類main方法,以下哪項是main方法的正確形參?TOC\o"1-5"\h\z(C)21.非流類main方法,以下哪項是main方法的正確形參?Javaapplication 中的主類需包含D.StringBufferargs口A、 StringargsRStringargs口 D.StringBufferargs口.以下代碼段執(zhí)行后的輸出結果為( )intx=—3;inty=—10;System.out.println(y%x);A-1R2C、1D3.以下關于繼承的敘述正確的是( )。A在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C、在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D>在Java中接口只允許單一繼承.若有定義:byte口x={11,22,33,-66};其中0Wk&3,則對x數(shù)組元素錯誤的引用是( )Ax[5-3]x[k]x[k+5]x[0]TOC\o"1-5"\h\z.paint()方法使用哪種類型的參數(shù)?( )A、GraphicsB、Graphics2D C、StringDColor.以下哪個不是Java的原始數(shù)據類型( )A、intBBooleanGfloat D、char.在Java中,一個類可同時定義許多同名的方法,這些方法的形式參數(shù)的個數(shù)、類型或順序各不相同,傳回的值也可以不相同。這種面向對象程序特性稱為( )A隱藏B)重寫C)重載D)Java不支持此特性28.以下有關構造方法的說法,正確的是: ()A. 一個類的構造方法可以有多個B.構造方法在類定義時被調用C.構造方法只能由對象中的其它方法調用。D.構造方法可以和類同名,也可以和類名不同.在瀏覽器中執(zhí)行applet程序,以下選項中的哪個方法將被最先執(zhí)行( )。Ainit()Bstart()C、destroy() D、stop().給出下面代碼,關于該程序以下哪個說法是正確的?( )publicclassPerson{staticintarr[]=newint[5];publicstaticvoidmain(Stringa口){System.out.println(arr[0]); }}A、編譯時將產生錯誤 B、編譯時正確,運行時將產生錯誤C、輸出零D、輸出空31、有以下方法的定義,請選擇該方法的返回類型( )。ReturnTypemethod(bytex,doubley){return(short)x/y*2;}A、byteBshortCintDdouble.下列類定義中哪些是合法的抽象類的定義?( )AabstractAnimal{abstractvoidgrowl();}B、classabstractAnimal{abstractvoidgrowl();}C、abstractclassAnimal{abstractvoidgrowl();}DabstractclassAnimal{abstractvoidgrowl(){System.out.println( "growl");};}.有以下程序片段,下列哪個選項不能插入到行 1。( )1..publicclassInteresting{.//dosth.publicclassInteresting{.//dosth.}Aimportjava.awt.*;C、classOtherClass{}34.設有下面兩個賦值語句:a=Integer.parseInt(B、packagemypackage;DpublicclassMyClass{}“12”);}}}}b=Integer.valueOf( "12").intValue();下述說法正確的是( )oAa是整數(shù)類型變量,b是整數(shù)類對象。B、a是整數(shù)類對象,b是整數(shù)類型變量。C、a和b都是整數(shù)類對象并且值相等。 Da和b都是整數(shù)類型變量并且值相等。35.在編寫JavaApplet 程序時,需在程序的開頭寫上 ()語句。Aimportjava.awt.*; B、importjava.applet.Applet;C、importjava.io.*; D、importjava.awt.Graphics;TOC\o"1-5"\h\z.下列哪一項不屬于 Swing的頂層容器?( )A)JApplet B)JTreeC)JDialogD)JFrame.為了使包ch4在當前程序中可見,可以使用的語句是( )。A)importch4.*;B)packagech4.*;C)ch4import;D)ch4package;38.請問所有的異常類皆繼承哪一個類?( )。A)java.io.Exception B)java.lang.ThrowableC)java.lang.ExceptionD)java.lang.Error.進行Java基本的GUI設計需要用到的包是( )。A)java.ioB)java.sql C)java.awtD)java.rmi.當點擊鼠標或者拖動鼠標時,觸發(fā)的事件是下列的哪一個?( )A)KeyEventB)ActionEventC)ItemEvent D)MouseEvent填空題:1,數(shù)組x定義:Stringx[][]=newint[3][2];x[0][0]= "abc”,x[0][1]= "12345”;貝Ux.length 的值為2,x[0][1].length()的值為__5。2、Java語言的變量由變量名、 修飾符、變量屬性、初值組成。3、當程序中需要拋出異常時,應該使國一_catch_子句,當需要在方法中聲明可能拋出的異常類型,應該使用子句。4、java.applet包中的類定義了Applet與其運行環(huán)境之間的一個標準接口。5、Java語言中提供的GUI功能主要由java.awt包和」ava.swing_包中的類和接口實現(xiàn)。6、Java源程序文件和字節(jié)碼文件的擴展名分別為 _.java 和__.class___。7、Java語言的類型檢查機制要求對于沒有返回值的方基,在其前面必須加 void___進行說明。8、類是Java語言的一種 數(shù)據類型。9、在Java語言中,所有的對象均通過運算符分配內存,并對內存進行自動管理。10、每個JavaApplication 程序可以包括許多方法,但是必須有且只能有一個方法,統(tǒng)一格式為,它是程序執(zhí)行的入口。若要在程序中定義一個公用的 int型的類成員變量 MAX_LENGTHM該變量的值保持常數(shù)值 1000,則定義該變量的語句是子類必須通過_super_關鍵字調用父類有參數(shù)的構造函數(shù)。在Java語言中,所有的類都是類 __Object__的子類。在Java程序中,通過類的定義只能實現(xiàn)單重繼承,但通過接口 的定義可以實現(xiàn)多重繼承關系。如果在Java程序中,需要使用java.util包中的所有類,則應該在程序開始處加上語句 _importjava.util.*下列程序的運行結果是 01234publicclassex2{publicstaticvoidmain(String口args){for(intcnt=0;cnt<10;cnt++){if(cnt==5)break;System.out.print(cnt);}}}下列程序的運行結果是 4importjava.io.*;publicclassATest{publicstaticvoidmain(Stringargs口){SubClasssb=newSubClass();System.out.println(sb.fun());}}classSuperClass{inta=24,b=5;}classSubClassextendsSuperClass{intfun(){returna%b;}分析下列程序,填上空白處的語句classpoint// 定義坐標類{intx,y;test(inta,intb){x=a;y=b;}}classrec_extendspoint//定義長方形類{intlength,width;rec(inta1,intb1,intl,intw){super(a1,b1);length=l;width=w;}}classtest{publicstaticvoidmain(Stringargs口){testr1=newtest( "0”, “0”, “10”, “20”)//定義名為r1的對象同時初始化坐標為 0,0,長度為10,寬度為20r1.print();}}19、Java源文件中最多只能有1個公共類,其它類的個數(shù)不限。20、在Java中所有實現(xiàn)的多維數(shù)組,實際上是由一維數(shù)組構成的 數(shù)組的數(shù)組。21、設x=15,則表達式(x++) /4的值是3。22、―抽象方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。23、run()方法用于定義線程的執(zhí)行體.start()方法用于啟動線程.24、Stringstr1="abc";Stringstr2=newString( "abc");System.out.println(str1==str2); 則程序運行后輸出結果為:fault_25、Java語言中,有一個類是所有類或接口的父類,這個類的名稱是Object。26、當啟動Applet程序時,首先調用的方法是。27、Java語言是一種完全的程序設計語言。如果一個JavaApplet 源程序文件只定義有一個類,該類的類名為 MyApplet,則類MyApplet必須是Applet類的子類并且存儲該源程序文件的文件名為 。設intx=2 ,則表達式(x++)/3的值是0。Java提供的訪問權限修飾符有 4個,即:public、_private、protected和友元。Java中有兩種常用的字符串類,一個是String,另一個是。Java實現(xiàn)多線程的方法有兩種,一種方法是通過創(chuàng)建類的子類實現(xiàn)多線程,另一種方法是定義一個實現(xiàn) 接口的類。Java不支持多繼承。但它允許一個類同時實現(xiàn)多個 接口 ,這就相當于部分實現(xiàn)了多繼承。Java源文件中,import__語句位于package語句之后、類定義之前。_OutputStreamWriter__類是OutputStream類的子類,用來處理以文件作為數(shù)據輸出的數(shù)據流。三、編程題:.編寫一個輸出"HelloWorld!"的程序,用兩種方式實現(xiàn)(Application、Applet)。.編寫一個JavaApplication,接收從鍵盤輸入的10個整數(shù),并輸出其中的最大、最小以及平均值。要求:將計算功能定義在一個類中,由主類接收輸入,再用數(shù)組的方式傳遞給實現(xiàn)計算的類的方法,再輸出結果。.編寫一個程序,使用復數(shù)類plex驗證兩個復數(shù)1+2i和3+4i相加產生一個新的復數(shù) 4+6i。復數(shù)類plex必須滿足如下要求:(1)復數(shù)類plex的屬性有:RealPart: int型,代表復數(shù)的實數(shù)部分ImaginPart:int型,代表復數(shù)的虛數(shù)部分⑵復數(shù)類plex的方法有:plex(): 構造函數(shù),將復數(shù)的實部和虛部都置 0plex(intr,inti): 構造函數(shù),形參r為實部的初值,i為虛部的初值。plexplexAdd(plexa): 將當前復數(shù)對象與形參復數(shù)對象相加,所得的結果仍是一個復數(shù)值,返回給此方法的調用者。StringToString(): 把當前復數(shù)對象的實部、虛部組合成a+bi的字符串形式,其中a和b分別為實部和虛部的數(shù)據。.求10個數(shù)中的最大值并輸出。.建立一個學生類,其中成員變量為學號,姓名,及三門課成績。另外建立一個包含主方法的類,定義 2個學生類的對象,求出這2個學生三門課總分的最高分,并將最高分這個學生的信息輸出。.編寫一個Application,接受用戶輸入的帳號和密碼,給三次輸入機會..定義一個圓類circle,它有一個變量radius(半徑)、若干個構造函數(shù)和一個求圓的面積的方法。在主類test的main()方法中隨機生成一個100以內的整數(shù),通過構造函數(shù)的參數(shù)傳遞給 radius,調用圓類circle 中的方法計算并輸出圓的面積。.編寫Applet程序模擬屏幕保護程序,在屏幕上隨機畫圓。圓的位置和半徑是隨機的。 50毫秒后再隨機畫下一個圓,一旦畫滿了 50個圓,就清除屏幕。然后重新開始畫圓。.請編寫一個實現(xiàn)如下功能的 Application:比較從鍵盤輸入的兩個整數(shù)是否相等,并根據比較結果顯示“相等”或“不相等” 。.請編寫一個Applet,其中包含兩個標簽(一個用于給出提示信息,另一個用來輸出結果)和一個文本框。要求從文本框中獲取用戶給出的一個整數(shù),并將該數(shù)的絕對值在標簽上輸出。.編寫一個Application,利用數(shù)組求出“HELLO,"JAVA'"PROGRAME個字符串的平均長度。.SQLServer中有一個名為friends的表,如下圖,利用 JDB魏程實現(xiàn)顯示表中記錄信息。1、application程序publicclassa{publicstaticvoidmain(Stringargs口){System.out.println("HelloWorld!");}}2、applet程序publicclassbextendsjava.applet.Applet{publicpaint(java.awt.Graphicsg){g.outstring("HelloWorld!”,10,10);}}publicclassplex{privatefloatshibu;privatefloatxubu;plex(){this(0,0);}plex(floatshibu,floatxubu){this.shibu=shibu;this.xubu=xubu;}publicvoidAdd(plexp){plexresult=newplex();result.shibu=this.shibu+p.shibu;result.xubu=this.xubu+p.xubu;System.out.print(" 加法果為:"+result.shibu+"+"+result.xubu+"i");}publicstaticvoidmain(String口args){plexfushu1=newplex(1,2);plexfushu2=newplex(3,4);fushu1.Add(fushu2);}}importjava.lang.*;}}}}}}}}}publicclassplex{intRealPart;intImagePart;plex(){RealPart=0;ImagePart=0;}plex(intreal,intimage){RealPart=real;ImagePart=image;}plexplexAdd(plexa){plexrepart=newplex();repart.RealPart=this.RealPart+a.RealPart;repart.ImagePart=this.ImagePart+a.ImagePart;returnrepart;}voidToString(){System.out.println(this.RealPart+"+"+this.ImagePart+"i");}publicstaticvoidmain(Stringargs口){plexC1=newplex(2,3);plexC2=newplex(4,6);plexC3=newplex();C1.plexAdd(C2).ToString();C2.plexAdd(C3).ToString();//C3.ToString();四:importjava.util.Scanner;publicclassTest{publicstaticvoidmain(Stringargs口兒intnum口=newint[10];intmax;Scannerscan=newScanner(System.in);System.out.print("請輸入10個數(shù)字:");for(inti=0;i<10;i++){num[i]=scan.nextInt();}max=num[0];for(inti=1;i<10;i++){if(max<num[i])max=num[i];}System.out.println(" 最大值是"+max);}五://學生類publicclassStudent{privateStringstu_id;privateStringstu_name;privatefloatmath;privatefloatchinese;privatefloatputer;publicvoidsetStu_id(Stringstu_id){this.stu_id=stu_id;}publicStringgetStu_id(){returnstu_id;}publicvoidsetStu_name(Stringstu_name){this.stu_name=stu_name;}一 一publicStringgetStu_name(){returnstu_name;}publicvoidsetMath(floatmath){this.math=math;}publicfloatgetMath(){returnmath;}publicvoidsetChinese(floatchinese){this.chinese=chinese;}publicfloatgetChinese(){returnchinese;}publicvoidsetputer(floatputer){this.puter=puter;}publicfloatgetputer(){returnputer;//主方法的類publicclassStart{publicstaticvoidmain(String口args){Studentstu1=newStudent();stu1.setStu_id("No1");stu1.setStu_name("張三");stu1.setMath(89.5f);stu1.setChinese(70f);stu1.setputer(98f);Studentstu2=newStudent();stu2.setStu_id("No2");stu2.setStu_name("李四");stu2.setMath(79.5f);stu2.setChinese(90f);stu2.setputer(68f);floatstu1Sum=stu1.getMath()+stu1.getChinese()+stu1.getputer();if(stu1Sum>stu2Sum){System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("floatstu2Sum=stu2.getMath()+stu2.getChinese()+stu2.getputer();if(stu1Sum>stu2Sum){System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("總分最高分為:"+stu1Sum);學號:"+stu1.getStu_id());姓名:"+stu1.getStu_name());數(shù)學:"+stu1.getMath());語文:"+stu1.getChinese());計算機:"+stu1.getputer());}elseif(stu1Sum<stu2Sum){System.out.println("總分最高分為:System.out.println("總分最高分為:"+stu2Sum);System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("}else{System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("}學號:"+stu2.getStu_id());姓名:"+stu2.getStu_name());System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("}else{System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("System.out.println("}學號:"+stu2.getStu_id());姓名:"+stu2.getStu_name());數(shù)學:"+stu2.getMath());語文:"+stu2.getChinese());計算機:"+stu2.getputer());總分一樣高為:"+stu1Sum);學號:"+stu1.getStu_id());姓名:"+stu1.getStu_name());數(shù)學:"+stu1.getMath());語文:"+stu1.getChinese());計算機:"+stu1.getputer());學號:"+stu2.getStu_id());姓名:"+stu2.getStu_name());數(shù)學:"+stu2.getMath());語文:"+stu2.getChinese());計算機:"+stu2.getputer());}}九:importjava.util.Scanner;publicclassPare{publicstaticvoidmain(Stringargs[]){Scannertr=newScanner(System.in);intb=tr.nextInt();inta=tr.nextInt();if(a==b)System.out.println("相等)elseSystem.out.println("不相等");elseSystem.out.println("不相等");}H■:classAverage{publicstaticvoidmain(Stringargs口){Stringarray口=newString[3];array[0]="HELLO";array[1]="JAVA";array[2]="PROGRAM";inttotal=array[0].length();total+=array[1].length();total+=array[2].length();System.out.println(" 平均字符串長度為: "+total/3);}}JAVA復習卷、選擇題(2'*15=30')1、如下哪個是Java中的標識符()AfieldnameB、super G3number D>#number2、設x=1,y=2,z=3 ,則表達式y(tǒng)+=z——/++x的值是()A.3 B.3.5C.4D.53、下面的代碼段執(zhí)行之后 count的值是什么()intcount=1;for(inti=1;i<=5;i++){count+=i;}System.out.println(count);TOC\o"1-5"\h\zA5B、1 C、15 D164、為AB類的一個無形式參數(shù)無返回值的方法 method書寫方法頭,使得使用類名 AB作為前綴就可以調用它,該方法頭的形式為() 。A.staticvoidmethod() B.publicvoidmethod()C.finalvoidmethod() D.abstractvoidmethod()\o"CurrentDocument"5、下列程序段執(zhí)行后的結果是 ()。Strings=newString("abcdefg");for(inti=0;i<s.length();i+=2){System.out.print(s.charAt(i));}A)acegB)ACEGC)abcdefgD)abcd6、下面程序段執(zhí)行后 b的值是()。Integerinteg=newInteger(9);booleanb=integinstanceofObject;A)9B)trueC)1D)falseA)9B)trueC)1D)false.關于for循環(huán)和while循環(huán)的說法哪個正確?while循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。while循環(huán)判斷條件一般是程序結果,for循環(huán)的判斷條件一般是非程序結果C.兩種循環(huán)任何時候都不可以替換D.兩種循環(huán)結構中都必須有循環(huán)體,循環(huán)體不能為空.關于對象成員占用內存的說法哪個正確? ( )A.同一個類的對象共用同一段內存B、同一個類的對象使用不同的內存段,但靜態(tài)成員共享相同的內存空間C.對象的方法不占用內存D.以上都不對.關于繼承的說法正確的是: ( )A、子類將繼承父類所有的屬性和方法。B、子類將繼承父類的非私有屬性和方法。G子類只2承父類public方法和屬性D子類只繼承父類的方法,而不繼承屬性.覆蓋與重載的關系是 ( )A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個類中B.覆蓋方法可以不同名,而重載方法必須同名C.final修飾的方法可以被覆蓋,但不能被重載D.覆蓋與重載是同一回事11、下面哪一個import命令可以為我們提供編寫網絡應用程序的類()A、importjava.sql.*; B importjava.util.*;G importjava.io.*; D. .*;TOC\o"1-5"\h\z12、如果容器組件p的布局是BorderLayout,則在p的下邊中添加一個按鈕 b,應該使用的語句是( )A、p.add(b); B p.add(b,"North");O p.add(b,"South"); D. b.add(p,"North");13、Frame對象默認的布局管理器是( )A、FlowLayout B、BorderLayoutGCardLayout D、null14、如果需要從文件中讀取數(shù)據,則可以在程序中創(chuàng)建哪一個類的對象( )A、FileInputStream BFileOutputStreamGDataOutputStream D、FileWriter15、下面的程序創(chuàng)建了一個文件輸出流對象,用來向文件test.txt中輸出數(shù)據,假設程序當前目錄下不存在文件 test.txt面的程序Test.java后,將該程序運行3次,則文件test.txt的內容是()。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)Test D)ABCDEABCDEABCDE二、填空題(1'*10=10')1、如果將類MyClass聲明為public,它的文件名必須是MyClass.java 才能正常編譯。2.面向對象有三大特點分別是繼承、 封裝、多態(tài)。3、設x=2 ,則表達式(x++) /3的值是0o4、在Java的基本數(shù)據類型中,char型采用Unicode編碼方案,每個Unicode碼占用2字節(jié)內存空間5、Java中用于兩個數(shù)相等比較的運算符是: (==),用于不相等比較的運算符是(<>)。6、在Java中聲明一個字符串類型的變量 str的語句是:Stringstr;,定義一個具有10個元素的整型數(shù)組a的語句是:int[]a=newint[10]; 。7、設有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70}; 則執(zhí)行以下幾個語句后的輸出結果是20+40+60=120ints=0;for(inti=0;i<MyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);8、定義接口的保留字是(interface)。9、異常處理是由(try)、(catch)和finally 塊三個關鍵所組成的程序塊。10.Socket通常也稱為(套接字),用于描述(IP地址)和(端口)。三、讀程題(6'*5=30')1、以下程序的輸出結果為:publicclassPerson{Stringname;intage;publicPerson(Stringname,intage){=name;this.age=age;}publicstaticvoidmain(String[]args){Personc=newPerson("Peter",17);System.out.println(+"is"+c.age+"yearsold!");}}Peteris17yearsold!2、輸出結果為:

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);}}jis: 10jincalculate。is:20Atlastjis: 103、以下程序輸出的結果為:abstractclassShape{//定義抽象類Shape和抽象方法displayabstractvoiddisplay();}classCircleextendsShape{voiddisplay(){ 〃實現(xiàn)抽象類的方法System.out.println("Circle");}}classRectangleextendsShape{voiddisplay(){// 實現(xiàn)抽象類的方法System.out.println("Rectangle");}}classTriangleextendsShape{voiddisplay(){〃實現(xiàn)抽象類的方法System.out.println("Triangle");}}publicclassAbstractClassDemo{publicstaticvoidmain(Stringargs口兒(newCircle()).display();//定義無名對象來調用對應的display方法(newRectangle()).display();(newTriangle()).display();}}CircleRectangularTriangle4、以下程序的輸出結果為:publicclassTom{privatefloatweight;privatestaticStringnamepublicvoidsetWeight(floatweight){this.weight=weight;}privatevoidout(){System.out.println( name+"體重:"+weight+"斤)}publicstaticvoidmain(String口args){T="湯姆貓";Tomcat=newTom();cat.setWeight(20);cat.out();}}湯姆貓體重:20.0斤5、以下程序的輸出結果為: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{protectedStringname;protectedcharsex;protectedintchinese;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);}}namesexChineseenglishTOC\o"1-5"\h\zMaryf76 86Jack m 66 89Tom m 90 88四、簡答題(4'*5=20'). JAVA的基本數(shù)據類型有那些?String是不是基本類型?float,int,char,byte,double,long,short,boolean。string不是基本類型、 什么是繼承?、3、JavaI/O中字符流和字節(jié)流的區(qū)別?.創(chuàng)建線程的兩種方法.抽象類和接口的區(qū)別五、編程題(3'+7'=10')1、按以下要求編寫程序創(chuàng)建一個Rectangle類,添加width和height兩個成員變量(2)在Rectangle中添加兩種方法分別計算矩形的周長和面積(3)編程利用Rectangle輸出一個矩形的周長和面積2、編寫一個完整的JavaApplet程序使用復數(shù)類plex驗證兩個復數(shù)1+2i和3+4i相加產生一個新的復數(shù) 4+6i。復數(shù)類plex必須滿足如下要求:(1)復數(shù)類plex的屬性有:RealPart:int型,代表復數(shù)的實數(shù)部分ImaginPart:int型,代表復數(shù)的虛數(shù)部分(2)復數(shù)類plex的方法有:plex(): 構造函數(shù),將復數(shù)的實部和虛部都置 0plex(intr,inti): 構造函數(shù),形參r為實部的初值,i為虛部的初值。plexplexAdd(plexa): 將當前復數(shù)對象與形參復數(shù)對象相加,所得的結果仍是一個復數(shù)值,返回給此方法的調用者。StringToString(): 把當前復數(shù)對象的實部、虛部組合成 a+bi的字符串形式,其中a和b分別為實部和虛部的數(shù)據。一、AADAABBBBADCBAD二、MyClass.java 封裝,多態(tài)0 2 == ,<>Stringstr;int[]arr=newint[10]; 120interfacetrycatch套接字IP地址端口、1、Peteris17yearsold!2、jis: 10jincalculate。is:203、103、10湯姆貓體重:20.0湯姆貓體重:20.0斤namesexchineseMaryf7686Jackm6689Tomm9088english四、1、float,intchar,byte,doublelong,short,boolean。四、1、float,intchar,byte,double2、通過必要的說明能夠實現(xiàn)某個類無需重新定義就擁有另一個類的某些屬性和方法,并把這種關系稱為繼承,先定義的類稱為父類,后定義的類稱為子類,并且允許多層的繼承關系。3、java流在處理上分為字符流和字節(jié)流。字符流處理的單元為 2個字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個字節(jié),操作字節(jié)和字節(jié)數(shù)組4、a.Thread類的子類創(chuàng)建線程包括繼承 Thread類,重寫run方法,在應用類中創(chuàng)建Thread之類的對象和調用start方法。B.使用Runnable接口包才^實現(xiàn)Runnable接口,實現(xiàn)run方法,創(chuàng)建THread類對象,采用實現(xiàn)Runnable接口類的對象作為參數(shù)和調}}}}用start方法。5、a。接口中的所有方法都是抽象的,而抽象類可以定義帶有方法體的不同方法。bo一個類可以實現(xiàn)多個接口,而只能繼承一個抽象父類。co接口與實現(xiàn)它的類不構成繼承體系,而抽象類是屬于一個類的繼承體系。do接口中的方法默認是 publicabstract的,而成員變量默認是 publicstatic常量e。implements關鍵字用于實現(xiàn)接口, extends關鍵字用于繼承。五、1、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、importjava.applet.*;importjava.awt.*;publicclassabcextendsApplet{plexa,b,c;publicvoidinit(){a=newplex(1,2);b=newplex(3,4);c=newplex();}publicvoidpaint(Graphicsg){c=a.plexAdd(b);g.drawString("第一個復數(shù):"+a.toString(),10,50);g.drawString("第二個復數(shù):"+b.toString(),10,70);g.drawString("兩復數(shù)之和:"+c.toString(),10,90);}}classplex{intRealPart;// 復數(shù)的實部intImaginPart;// 復數(shù)的虛部plex(){RealPart=0;ImaginPart=0;}plex(intr,inti){RealPart=r;ImaginPart=i;}plexplexAdd(plexa){plextemp=newplex();// 臨時復數(shù)對象temp.RealPart=RealPart+a.RealPart;temp.ImaginPart=ImaginPart+a.ImaginPart;returntemp;}publicStringtoString(){return(RealPart+"+"+ImaginPart+"i");}《JAVA程序設計》期末考試試題 (一)一、單選擇題1、編譯JavaApplication 源程序文件將產生相應的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為 ()D..exeA.java B..classD..exeC.html2、設x=1,y=2,z=3,則表達式y(tǒng)+=z—2、設x=1,y=2,z=3A.3 B.3.5TOC\o"1-5"\h\zC.4 D.53、不允許作為類及類成員的訪問控制符的是 () 。A.public B.privateC.static D.protected4、為AB類的一個無形式參數(shù)無返回值的方法 method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為() 。A.staticvoidmethod() B.publicvoidmethod()C.finalvoidmethod() D.abstractvoidmethod()二、填空題1、開發(fā)與運行Java程序需要經過的三個主要步驟為 編輯源程序、編譯生成字節(jié)碼 和 解釋運行字節(jié)碼。2、在Java的基本數(shù)據類型中,char型采用Unicode編碼方案,每個Unicode碼占用 2 字節(jié)內存空間,這樣,無論是中文字符還是英文字符,都是占用 2 字節(jié)內存空間。3、設x=2 ,則表達式(x++) /3的值是0o4、若x=5,y=10,貝Ux<y和x>=y的邏輯值分別為 true和false。5、 抽象(abstract) 方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。 最終(final)方法是不能被當前類的子類重新定義的方法。6、創(chuàng)建一個名為MyPackage的包的語句是packageMyPackage; ,該語句應該放在程序的位置為: 應該在程序第一句。7、設有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70}; 則執(zhí)行以下幾個語句后的輸出結果是 120 。ints=0;for(inti=0;i<MylntArray.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(Stringstrl,Stringstr2){si=strl;s2=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=20 c=30《JAVA程序設計》期末考試試題 (六)一、填空題.定義類的保留字是(class),定義接口的保留字是(inteface)。.Socket通常也稱為(套接字),用于描述(IP地址)和(端口)。.線程的優(yōu)先級在(1)至(10)之間,數(shù)值越大(任務越緊急)。.構造方法是一種特殊的成員方法,構造方法名與 (類名)相同。.Java語言只允許單繼承,指每個類只能有一個(父類)。.Java源程序的擴展名是(.java),經過編譯后的程序的擴展名是(.class)。.在一個時間只能由一個線程訪問的資源稱為 (臨界資源)。訪問臨界資源的代碼(臨界代碼).在多線程系統(tǒng)中,多個線程之間有 (同步)和(互斥)兩種關系。二、選擇題.關于選擇結構下列哪個說法正確? ( )if語句和else語句必須成對出現(xiàn)if語句可以沒有else語句對應switch結構中每個case語句中必'須用break語句switch結構中必須有default語句.while循環(huán)和do…while循環(huán)的區(qū)別是:

A.沒有區(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í)行一次3.關于for循環(huán)和while循環(huán)的說法哪個正確? ( )while循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。while循環(huán)判斷條件一般是程序結果,for循環(huán)的判斷條件一般是非程序結果C.兩種循環(huán)任何時候都不可以替換D.兩種循環(huán)結構中都必須有循環(huán)體,循環(huán)體不能為空7.7.關于對象成員占用內存的說法哪個正確?4.下列修飾符中與訪問控制無關的是A.privateprotectedvoid的含義: ( )A.方法沒有返回值C.沒有意義return語句:( )A.只能讓方法返回數(shù)值C.方法中可以有多句return()B.publicD.finalB.方法體為空D.定義方法時必須使用B.方法都必須含有D.不能用來返回對象()A.同一個類的對象共用同一段內存B、同一個類的對象使用不同的內存段,但靜態(tài)成員共享相同的內存空間C.對象的方法不占用內存D.以上都不對8.下列說法哪個正確?A.不需要定義類,就能創(chuàng)建對象.對象中必須有屬性和方法C.屬性可以是簡單變量,也可以是一個對象Dk屬性必須是簡單變量.下列說法哪個正確? ( )A、一個程序可以包含多個源文件B、一個源文件中只能有一個類C、一個源文件中可以有多個公共類DK一個源文件只能供一個程序使用.關于方法main()的說法哪個正確?( )A.方法main()只能放在公共類中Bmain()的頭定義可以根據情況任意更改C.一個類中可以沒有main()方法D.所有對象的創(chuàng)建都必須放在 main()方法中.構造函數(shù)何時被調用?B、類定義時B、類定義時C、C、使用對象的方法時D、使用對象的屬性時. 抽象方法: ( )A可以有方法體B、可以出現(xiàn)在非抽象類中C、是沒有方法體的方法D>抽象類中的方法都是抽象方法.關于繼承的說法正確的是: ( )A、子類將繼承父類所有的屬性和方法。B、子類將繼承父類的非私有屬性和方法。C、子類只繼承父類public方法和屬性DK子類只繼承父類的方法,而不繼承屬性.關于構造函數(shù)的說法哪個正確? ( )A、一個類只能有一個構造函數(shù)B、一個類可以有多個不同名的構造函數(shù)C、構造函數(shù)與類同名DK構造函數(shù)必須自己定義,不能使用父類的構造函數(shù).this和super:A都可以用在main()方法中B、都是指一個內存地址C、不能用在main()方法中D意義相同.關于super的說法正確的是:A、是指當前對象的內存地址B、是指當前對象的父類對象的內存地址C、是指當前對象的父類D>可以用在main()方法中.覆蓋與重載的關系是 ( )A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個類中B.覆蓋方法可以不同名,而重載方法必須同名C.final修飾的方法可以被覆蓋,但不能被重載D.覆蓋與重載是同一回事18.關于接口哪個正確? ( )A、實現(xiàn)一個接口必須實現(xiàn)接口的所有方法B.一個類只能實現(xiàn)一個接口C.接口間不能有繼承關系D.接口和抽象類是同一回事19.異常包含下列哪些內容?A.程序執(zhí)行過程中遇到的事先沒有預料到的情況B.程序中的語法錯誤C.程序的編譯錯誤D.以上都是對于已經被定義過可能拋出異常的語句,在編程時: (A必須使用try/catch語句處理異常,或用throws將其拋出B.如果程序錯誤,必須使用 try/catch語句處理異常C.可以置之不理D.只能使用try/catch語句處理字符流與字節(jié)流的區(qū)別在于( )A.前者帶有緩沖,后者沒有B.前者是塊讀寫,后者是字節(jié)讀寫C.二者沒有區(qū)別,可以互換使用D.每次讀寫的字節(jié)數(shù)不同22.下列流中哪個不屬于字節(jié)流 ( )FileInputStreamBufferedInputStreamFilterInputStreamInputStreamReader三、程序填空題.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)10o.按要求填空abstractclassSuperAbstract{voida(){…}abstractvoidb();abstractintc(inti);}interfaceAsSuper{voidx();}abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper{TOC\o"1-5"\h\zpublicvoidb(){ …}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中的x()方法是(4)方法,所以在InheritAbstract 中必須對它進行(5)答案:SuperAbstract;InheritAbstract;⑶AsSuper;⑷抽象;(5)覆蓋和實現(xiàn)。注釋完成程序publicclassLeaf{privateinti=0;// 此屬性值用于檢驗Leafincrement(){// 定義方法increment。,返回值是Leaf類的對象i++;return(this);//將當前對象的地址作為返回值返回}voidprint(){System.out.println("i="+i);}publicstaticvoidmain(Stringargs口){Leafx= (newLeaf(););//創(chuàng)建Leaf類的對象xx.increment().increment().increment().print();}//多次調用方法increment。,返回的都是x的地址,i值表示調用次數(shù)}輸出結果為i= (3)答案:this;newLeaf();⑶3按注釋提示完成文件復制的程序//FileStream源代碼如下:importjava.io.*;classFileStream{publicstaticvoidmain(Stringargs[]){try{FileinFile=newFile("file1.txt"); //指定源文件FileoutFile=newFile("file2.txt"); //指定目標文件FileInputStreamfis= (1);FileOutputStreamfos=newFileOutputStream(outFile);intc;// 逐字節(jié)從源文件中輸入,再輸出到fos流while((c=fis.read())!=-1)fos.write(c);fis.close();fos.close();}catch(Exceptione){System.out.println("FileStreamsTest:"+e);}}}答案:newFilelnputStream(inFile);⑵fos.write(c);閱讀程序,給出結果://AbstractClassDemo.java 源代碼如下:abstractclassShape{// 定義抽象類Shape和抽象方法displayabstractvoiddisplay();}classCircleextendsShape{voiddisplay(){ 〃實現(xiàn)抽象類的方法System.out.println("Circle");}}classRectangleextendsShape{voiddisplay(){//實現(xiàn)抽象類的方法System.out.println("Rectangle");}}classTriangleextendsShape{voiddisplay(){ 〃實現(xiàn)抽象類的方法System.out.println("Triangle");}}publicclassAbstractClassDemo{publicstaticvoidmain(Stringargs口兒(newCircle()).display(); //定義無名對象來調用對應的 display方法(newRectangle()).display();(newTriangle()).display();}}輸出結果是?答案:(1)Circle;(2)Rectangle;(3)Triangle

一、選擇題(20題,每題2分,共40分).在面向對象的方法中,一個對象請求另一個對象為其服務的方式是通過發(fā)送 (D)A調用語句B、命令C、口令D>消息.Java語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java程序并行機制的特點:(B)A安全性B、多線程C、跨平臺DK可移值.編寫和運行Java

溫馨提示

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

評論

0/150

提交評論