Java程序設(shè)計習(xí)題集.docx_第1頁
Java程序設(shè)計習(xí)題集.docx_第2頁
Java程序設(shè)計習(xí)題集.docx_第3頁
Java程序設(shè)計習(xí)題集.docx_第4頁
Java程序設(shè)計習(xí)題集.docx_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計習(xí)題集第一單元 試題一、選擇題1編譯Java Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為( )。A.java B.class C.html D.exe2.Java程序的執(zhí)行過程中用到一套JDK工具,其中java.exe是指( )A.Java文檔生成器 B.Java解釋器C.Java編譯器 D.Java類分解器3Java語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java程序并行機制的特點( )A.安全性 B. 多線程 C. 跨平臺 D. 可移植4. Java編程所必須的默認引用包為( )A.java.sys包 B.java.lang包 C.java.new包 D.以上都不是二、判斷題1. J2EE(Java 2 Platform Enterprise Edition)企業(yè)版是以企業(yè)為環(huán)境而開發(fā)應(yīng)用程序的解決方案。()2. J2ME(Java 2 Platform Micro Edition)小型版是致力于消費產(chǎn)品和嵌入式設(shè)備的最佳解決方案。()3. J2SE(Java 2 Platform Standard Edition)標準版為桌面開發(fā)和低端商務(wù)應(yīng)用提供了可行的解決方案。()4. Java是區(qū)分大小寫的語言,關(guān)鍵字的大小寫不能搞錯,如果把類class寫成Class或者CLASS,都是錯誤的。()5. Java源程序編寫好之后,以文件的形式保存在硬盤或U盤上,源文件的名字可以隨便取的,它不一定與程序的主類名一致。()6. 在JDK命令行開發(fā)工具中,用編譯程序javac.Exe編譯生成的文件是二進制可執(zhí)行文件。()7. Java程序可以分為Java Application和Java Applet兩類,這兩類程序的運行方式是相同的。()8.操作系統(tǒng)Microsoft Wndows9598/2000XP/2003、Linux、UNIX、Mao OS等都是支持Java虛擬機的操作系統(tǒng)。()9. Javac是Java編譯器,用來將Java源程序編譯成Java字節(jié)碼的程序。字節(jié)碼文件名和源文件名相同,擴展名是class。()10. appletviewer 是Java小程序瀏覽器,可以執(zhí)行HTML文件中的 Java小程序, Applet。它是個模擬瀏覽器,可以顯示Applet的運行結(jié)果。()三、簡述題1簡述Java語言的主要特點。2. 簡述Java程序的可移植性。答案:一、1.B 2.B 3.B 4.D二、1. 對 2. 對 3. 對 4. 對 5. 錯 6. 錯 7. 錯 8. 對 9. 對 10. 對三、1.答:Java語言有下面一些特點:簡單、面向?qū)ο?、分布式、解釋?zhí)行、健壯、安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程以及動態(tài)性。2. 答:與平臺無關(guān)的特性使Java程序可以方便地被移植到網(wǎng)絡(luò)上的不同機器。同時,Java的類庫中也實現(xiàn)了了與不同平臺的接口,使這些類庫可以移植。另外,Java編譯器是由Java語言實現(xiàn)的,Java運行時系統(tǒng)由標準C實現(xiàn),這使得Java系統(tǒng)本身也具有可移植性。 .Writeonce, run everywhere.也許是Java最誘人的特點。用Java開發(fā)成的系統(tǒng)其移植工作幾乎為零,一般情況下只需對配置文件、批處理文件作相應(yīng)修改即可實現(xiàn)平滑移植。第二單元 試題一、選擇題1.在Java中,屬于整數(shù)類型變量的是( )A. single B. double C. byte D. char2.下列語句片段int a=10,b=4,c=20,d=6;System.out.println(a+*b+c*-d);結(jié)果為( )A. 144 B. 28 C. 140 D. 不能執(zhí)行3.下列語句片段:int a=-67,b=116,c=78;int d=ab&c;System.out.println(d); 的結(jié)果為( )A. 70 B. 67 C. 78 D. 564.給出下面代碼:public class teststatic int a = new a10;public static void main(String args) System.out.println(arr10);那個選項是正確的? ( )A. 編譯時將產(chǎn)生錯誤 B. 編譯時正確,運行時將產(chǎn)生錯誤;C. 輸出零; D. 輸出空。5.下面哪些選項是正確的main方法說明? ( )A. public main(String args)B. public static void main(String args)C. private static void main(String args)D. void main()6.System類在哪個包中( )A. javA.util B. java.io C. java.awt D. java.lang7.下列代碼哪幾行會出錯: ( )1) public void modify() 2) int I, j, k;3) I=100;4) while(I0)5) j= I * 2;6) System.out.println ( The value of j is + j );7) k=k + 1;8) I-;9) 10)A. line 1 B. line 6 C. line 7 D. line 8二、編程題1. 在JBuilder 9集成開發(fā)環(huán)境建立你的工程文件名myjava.jpx,把myfirstapp.java添加到myjava.jpx,并運行看結(jié)果。2. 在你的D盤或E盤建立子文件夾myjava,用寫字板編輯一個Java程序myfirstapp.java,保存在myjava目錄下。程序?qū)崿F(xiàn)在屏幕顯示“你好,這是我的第一個Java程序?!狈謩e用Java Application和Java Applet 2種形式實現(xiàn)。三、簡述題1簡述保留字。2. 簡述標識符。答案:一、1.B 2.C 3.A 4.A 5.B 6.D 7.C二、略三、1. 答:保留字(關(guān)鍵字)是Java語言本身使用的標識符,它有其特定的語法含義。所有的Java關(guān)鍵字將不能被當(dāng)作一般的標識符使用。如:for、while、boolean等都是Java語言的保留字關(guān)鍵字。2. 答:在Java源程序代碼中程序員需要標識和使用的各種元素如變量、函數(shù)、類和對象的名稱就是標識符(identifier)。包括:包名稱、類名、變量名、常量名、標號、方法名等。標識符要符合下面的規(guī)則。第三單元 試題一、選擇題1.判斷下列標識符是正確,答案寫在()。(多選)A. Java_proc B. 科學(xué)家 C. _bit D. 5jobE. t.45 F. %tools G. 100.8 H. name2. Math類是標準的數(shù)學(xué)類,它提供了一些基本數(shù)學(xué)運算的方法()。(多選)A. 絕對值abs() B. 指數(shù)運算exp()C. 對數(shù)運算log() D. 平方根sqrt()E. 三角函數(shù)sin(),cos(),tan() F. 求最大值max()、求最小值min()G. 求乘方pow()3.下列關(guān)于for循環(huán)和while循環(huán)的說法中哪個是正確的( )A. while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn)B. while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果C. 兩種循環(huán)任何時候都可替換D. 兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空4.在Java中,不屬于整數(shù)類型變量的是( )A. double B. long C. int D. byte5.Java變量中,以下不屬于復(fù)合類型的數(shù)據(jù)類型是( )A. 類 B. 字符型 C. 數(shù)組型 D. 接口6.JAVA程序經(jīng)常用到“遞歸”,“遞歸”的基本思想是( )A. “讓別人反復(fù)調(diào)用自己” B. “自己反復(fù)調(diào)用別人”C. “自己反復(fù)調(diào)用自己” D. 以上說法都不對二、判斷題1.若循環(huán)變量在for語句前面已經(jīng)有定義并具有循環(huán)初值,則初始語句可以為空(分號不可省略)。()2.dowhile循環(huán)的執(zhí)行過程是無條件執(zhí)行循環(huán)體一次,在根據(jù)判斷條件決定是否繼續(xù)執(zhí)行循環(huán)體。()3. Java語言的任何類型,包括整型、浮點型、字符和布爾型都可以使用運算符“”來比較是否相等,用運算符“!”來判斷是否不等。()4.Java語言提供了三個專門的循環(huán)控制語句:for語句、while語句和dowhile語句。()5.Java語言提供了三個專門的循環(huán)控制語句:for語句、while語句和dowhile語句。()6.程序中的break語句是用于退出switch的,若無則程序?qū)⒉辉俦容^而是依次執(zhí)行所有語句。()三、簡述題1簡述Java的基本數(shù)據(jù)類型。2. 簡述Java的表達式和運算符。3. 簡述Java的方法(method)。答案:一、1. ABCH 2. ABCDEFG 3.D 4.D 5.B 6.B 7. D二、1. 對2. 對 3. 對 4. 對 5. 對 6. 對 7. 對三、1. 答:基本數(shù)據(jù)類型包括: integer(整數(shù)),floating (浮點數(shù)), Boolean (布爾變量),Character or String(字符或字符串)。2. 答:表達式是由標示符、常量、變量和運算符組成,是程序的基本組成部分。運算符指明對各種操作數(shù)所進行的運算,Java提供了豐富的運算符,Java語言的基本運算符分為算術(shù)運算符、邏輯運算符、關(guān)系運算符和位運算符4大類。同時也可以使用圓括號將一個表達式的幾個部分組合到一起,并根據(jù)標準的代數(shù)規(guī)則建立優(yōu)先地位。3答:方法(method)是類的一個成員,它和面向過程程序設(shè)計中的函數(shù)有很多類似之處。由于它是類的一個重要組成部分。第四單元 試題一、判斷題1.若循環(huán)變量在for語句前面已經(jīng)有定義并具有循環(huán)初值,則初始語句可以為空(分號不可省略)。()2.dowhile循環(huán)的執(zhí)行過程是無條件執(zhí)行循環(huán)體一次,在根據(jù)判斷條件決定是否繼續(xù)執(zhí)行循環(huán)體。()3.標號提供了一種簡單的break語句所不能實現(xiàn)的控制循環(huán)的方法,當(dāng)在循環(huán)語句中遇到break后面有標號時,不管其它控制變量如何,都會終止標號的循環(huán)體。()4.Java的類庫是系統(tǒng)提供的已實現(xiàn)的標準類的集合,是Java編程的API,它可以幫助開發(fā)者方便、快捷地開發(fā)Java程序。()5.Java的基礎(chǔ)類庫包java.Lang也要經(jīng)過import語句引用。()6.Java程序中使用 import java.io.*;表示要引入帶*的類。()7.Java.awt包是 Java語言用來構(gòu)建圖形用戶界面(GUI)的類庫,它包括了許多界面元素和資源,主要在 3個方面提供界面設(shè)計支持:低級繪圖操作;圖形界面組件和布局管理和界面用戶交互控制和事件響應(yīng)。( )8.Vector the Vecto =new Vector(100,100);這個語句創(chuàng)建了名稱為the Vector的向量類對象,它的每個成員的容量為100,共有10個元素。()二、編程題1. 編寫一個程序,隨機產(chǎn)生10個小寫字母,并判斷是元音字母、半元音字母還是復(fù)音字母。2. 編寫程序,找出50100之間的所有素數(shù)。三、簡述題1.什么是類?什么是對象?類和對象有何聯(lián)系?2.方法的重載和方法的覆蓋有什么不同?3.類變量和實例變量有何區(qū)別?4. 抽象類和抽象方法有什么特點?答案:一、1. 對2. 對 3. 對 4. 對 5. 錯 6. 錯 7. 對 8. 錯二、1. 算法設(shè)計:l 應(yīng)用:char c= (char)(Math.random()*26+a)隨機產(chǎn)生一個小寫的英文字母。l 元音字母:a、e、i、o、u五個,半元音字母y、w二個其他19個都是復(fù)音字母。l 使用for 循環(huán)。l 使用 switch case 方式。參考源程序如下:(javajcch02 Vowels Consonants.java):package ch02;public class VowelsConsonants public static void main(String args) for (int i = 0 ;i10 ;i+)char c = (char)(Math.random()*26+a);/生成隨機字母System.out.print(c+ is );/判斷是哪一類字母switch(c)case a:case e:case i:case o:case u:System.out.println(a vowel. );break;case y:case w:System.out.println(Sometimes a vowel. );break;default:System.out.println(a consonant. );2. 算法提示:一個數(shù)字的因子是1和本身,則這個數(shù)是素數(shù)。源程序(javajcch02FindPrime.java):package ch02;/* Title:求素數(shù)* Description: 一個數(shù)字的因子是1和本身,則這個數(shù)是素數(shù)* Company: 學(xué)院信息技術(shù)系* Address:杭州下沙4號大街* Email:* Postcode:310018* version 1.0*/public class FindPrime public static void main(String args) next:for( int i=50;i=100;i+)for (int j=2;ji;j+)if (i % j = 0) /如果因子,不是素數(shù),取下一個屬判斷continue next;System.out.print(i+ );/輸出因素運行結(jié)果:53 59 61 67 71 73 79 83 89 97三、1. 答:在面向?qū)ο蟪绦蛟O(shè)計里,類是定義一個對象的屬性和方法的藍本。對象就是一組變量和相關(guān)方法的集合,其中變量表明對象的狀態(tài),方法表明對象所具有的行為。類是對象的模板,對象是類的實例,可以從一個類中創(chuàng)建許多對象。2. 答:方法重載,指的是在類中創(chuàng)建多個具有相同名稱,但使用不同參數(shù)的方法,Java虛擬機根據(jù)傳遞給方法的參數(shù)個數(shù)和類型決定調(diào)用哪個重載方法。方法的覆蓋指在子類中重新定義父類中已有的方法,對于重寫的方法,運行時系統(tǒng)根據(jù)調(diào)用該方法的實例的類型來決定選擇哪個方法調(diào)用。3答:由static修飾的變量稱為類變量,當(dāng)系統(tǒng)在程序中第一次遇到一個類時,便會拷貝一份所有的類變量在內(nèi)存里。然后那些由此類產(chǎn)生的實例便可分享這些類變量。實例變量指不是用static修飾的變量,可供實例方法使用。實例變量會復(fù)制于每一個從類產(chǎn)生的實例中。4.答: 一個抽象類里可以沒有抽象方法,但含有抽象方法的類必定為抽象類。 抽象類不能被實例化為對象,而只能作為其它類的超類,并且必須被繼承。 若某子類繼承自一個抽象類,而該子類不是抽象類,則子類需用覆蓋的方式來實例化超類中的所有抽象方法。抽象方法可再與public、protected復(fù)合使用,但不能與final、private和static復(fù)合使用。 抽象方法只有方法聲明,不能有方法體。第五單元 試題一、填空題1.在子類中使用關(guān)鍵字_做前綴可調(diào)用被子類覆蓋的父類中的方法。2.Java中所有類都是_類的子類。3.通過_運算符就能實現(xiàn)對對象成員變量的訪問和對象方法的調(diào)用。4.類的構(gòu)造方法的名稱必須與_名相同。5.類方法只能處理用關(guān)鍵字_修飾的對象。二、選擇題1.對象使用時,下面描述錯誤的是( )A. 通過“.”運算符調(diào)用成員變量和方法B. 通過成員變量的訪問權(quán)限設(shè)定限制自身對這些變量方法的調(diào)用C. 將一個對象申明為類的成員時,必須在使用前為其分配內(nèi)存D. 在方法中使用對象作為參數(shù)時,采用引用調(diào)用2.定義一個名為“MyClass”的類,并且該類可被一個工程中的所有類訪問,那么該類的正確聲明應(yīng)為:( )A. private class MyClass extends Object B. class MyClass extends ObjectC. public class MyClass D. private class MyClass extends Object3.Java中訪問限定符不包括( )A. public B. private C. default D. final4.構(gòu)造方法何時被調(diào)用( )A.類定義時 B.創(chuàng)建對象時 C.調(diào)用對象方法時 D.使用對象的變量時5.如果任何包中的子類都能訪問超類中的成員,那么應(yīng)使用哪個限定詞( )A.public B.private C.protected D.transient三、程序閱讀題1.編譯并運行下面的程序,運行結(jié)果為( )public class T1public static void main (String args)T1 a=new T1();a.method(8);a.method(1.2f);void method(float i)System.out.println(float: +i);void method(long i)System.out.println(long: +i);(2)定義類A和類B如下:class Aint a=1;double d=2.0;void show( )System.out.println(Class A: a=+a +td=+d);class B extends Afloat a=3.0f;String d=Java program.;void show( )super.show( );System.out.println(Class B: a=+a +td=+d);(1) 若在應(yīng)用程序的main方法中有以下語句:A a=new A(); a.show();則輸出的結(jié)果如何?(2) 若在應(yīng)用程序的main方法中定義類B的對象b:A b=new B(); b.show();則輸出的結(jié)果如何?答案:一、1. super 2. Object 3. 圓點 4. 類 5. static二、1.B 2.C 3.D 4.B 5.C三、1.答:編譯出錯,Mine應(yīng)聲明為abstract類型。2.答:程序可以編譯運行,輸出結(jié)果為: long: 8 float: 1.23.答: Class A: a=1 d=2.0Class A: a=1 d=2.0Class B: a=3.0 d=Java program.第六單元 試題一、判斷題1. 內(nèi)部類可以訪問外層類的任何變量,包括私有的。()2.匿名類可以有構(gòu)造器,聲明時候不能帶參數(shù)。()3.抽象方法可以是static的。()4.構(gòu)造器沒有任何返回類型,哪怕是void也不行。()5.只要類中顯式地定義一個,那么Java不會再為你定義一個默認的構(gòu)造器。()6.構(gòu)造方法可以被繼承。()7.方法的參數(shù)變量不能是final的()8.一個Java類可以有多個父類,這稱作多繼承()二、簡答題1.Java的成員變量修飾符有哪幾種?其中哪種修飾符限定的范圍最大?2.寫出下列關(guān)鍵字的意義和運用場合:final;finalize;finally。3.作用域public,private,protected,以及不寫時的區(qū)別三、編程題請定義一個名為Card的撲克牌類,該類有兩個private訪問權(quán)限的字符串變量face和suit:分別描述一張牌的牌面值(如:A、K、Q、J、10、9、3、2等)和花色(如:“黑桃”、“紅桃”、“梅花”和“方塊”)。定義Card類中的public訪問權(quán)限的構(gòu)造方法,為類中的變量賦值;定義protected訪問權(quán)限的方法getFace(),得到撲克牌的牌面值; 定義protected訪問權(quán)限的方法getSuit(),得到撲克牌的花色; 定義方法toString(),返回表示撲克牌的花色和牌面值字符串(如“紅桃A”、“梅花10”)。答案:一、1. T 2. F 3. F 4. T 5. T 6. F 7. F 8.F二、1. 答:成員變量的修飾符有public、protected、private、static、final、transient、volatile七種。Public修飾符的限定范圍最大。2. 答:final, finally, finalize的區(qū)別如下:final 用于聲明屬性、方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。3. 答:區(qū)別如下:作用域 當(dāng)前類 同一package 子孫 其他packagepublic protected friendly private 不寫時默認為friendly三、解題思路如下:class Card private String face;private String suit;public Card( String f, String s ) face = f;suit = s;protected String getSuit()return suit;protected String getFace()return face;public String toString()return face + of + suit;第七單元 試題一、判斷程序段1. abstract class Name private String name;public abstract boolean isStupidName(String name) 2. abstract class Something private abstract String doSomething ();3. public class Something public int addOne(final int x) return +x;4. public class Something public static void main(String args) Other o = new Other();new Something().addOne(o);public void addOne(final Other o) o.i+;class Other public int i;5. class Something int i;public void doSomething() System.out.println(i = + i);二、下面代碼編譯和運行的結(jié)果是什么?1. class Valuepublic int i = 15;public class Testpublic static void main(String argv)Test t = new Test();t.first();public void first()int i = 5;Value v = new Value();v.i = 25;second(v, i);System.out.println(v.i);public void second(Value v, int i)i = 0;v.i = 20;Value val = new Value();v = val;System.out.println(v.i + + i);A.15 0 20 B.15 0 15 C.20 0 20 D.0 15 202. class FatherClass public FatherClass()System.out.println(FatherClass Create);public class ChildClass extends FatherClasspublic ChildClass() System.out.println(ChildClass Create);public static void main(String args)FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();3. public class Staticstaticint x = 5;static int x,y;public static void main(String args)x-;myMethod();System.out.println(x + y + +x);public static void myMethod()y = x+ + +x;A.編譯錯誤 B.輸出 C.輸出 D.輸出4. class MyParent int x, y;MyParent(int x, int y)this.x = x;this.y = y;public int addMe(int x, int y)return this.x + x + y + this.y;public int addMe(MyParent myPar)return addMe(myPar.x, myPar.y);class MyChild extends MyParentint z;MyChild (int x, int y, int z)super(x,y);this.z = z;public int addMe(int x, int y, int z)return this.x + x + this.y + y + this.z + z;public int addMe(MyChild myChi)return addMe(myChi.x, myChi.y, myChi.z);public int addMe(int x, int y)return this.x + x + this.y + y;public class MySomeOnepublic static void main(String args)MyChild myChi = new MyChild(10, 20, 30);MyParent myPar = new MyParent(10, 20);int x = myChi.addMe(10, 20, 30);int y = myChi.addMe(myChi);int z = myPar.addMe(myPar);System.out.println(x + y + z);A.300 B.240 C.120 D.180答案:一、1. 錯。abstract method必須以分號結(jié)尾,且不帶花括號。2. 錯。abstract的methods不能以private修飾。abstract的methods就是讓子類implement(實現(xiàn))具體細節(jié)。3. 錯。int x被修飾成final,意味著x不能在addOne method中被修改。4. 正確。在addOne method中,參數(shù)o被修飾成final。如果在addOne method里我們修改了o的reference(比如: o = new Other();),那么如同上例這題也是錯的。但這里修改的是o的member vairable(成員變量),而o的reference并沒有改變。5. 正確。輸出的是i = 0。二、1. 正確答案A2. 答案:FatherClass CreateFatherClass CreateChildClass Create3. 正確答案 D4. 正確答案:A第八單元 試題一、判斷程序段1. class Something final int i;public void doSomething() System.out.println(i = + i);7. interface Playable void play();interface Bounceable void play();interface Rollable extends Playable, Bounceable Ball ball = new Ball(PingPang);class Ball implements Rollable private String name;public String getName() return name;public Ball(String name) = name;public void play() ball = new Ball(Football);System.out.println(ball.getName();二、下面代碼編譯和運行的結(jié)果是什么?1. class MyThread extends Threadpublic void run()System.out.println(MyThread: run();public void start()System.out.println(MyThread: start();class MyRunnable implements Runnablepublic void run()System.out.println(MyRunnable: run();public void start()System.out.println(MyRunnable: start();public class MyTest public static void main(String args)MyThread myThread = new MyThread();MyRunnable myRunnable = new MyRunnable();Thread thread = new Thread(myRunnable);myThread.start();thread.start();A.打印MyThread: start() 后面跟 MyRunnable: run()B.打印MyThread: run() 后面跟MyRunnable: start()C.打印MyThread: start() 后面跟MyRunnable: start()D.打印MyThread: run() 后面跟MyRunnable: run()2. / 文件名:SuperclassX.javapackage packageX;public class SuperclassXprotected void superclassMethodX()int superclassVarX;/文件名:SubclassY.java1.package packageX.packageY;2.3.public class SubclassY extends SuperclassX4.5. SuperclassX objX = new SubclassY();6. SubclassY objY = new SubclassY();7. void subclassMethodY()8. 9. objY.superclassMethodX();10. int i;11. i = objY.superclassVarX;12. 13.A.第5行編譯錯 B.第9行編譯錯 C.第11行意外 D.都不是3. 程序段如下:1.class MyClass2.3. void myMethod(int i) System.out.println(int version);4. void myMethod(String s) System.out.println(String version);5. public static void main(String args)6. 7. MyClass obj = new MyClass();8. char ch = c;9. obj.myMethod(ch);10. 11.A.第四行編譯出錯 B.第九行拋出例外C.輸出結(jié)果:int version D.輸出結(jié)果:String version4. public class ThrowsDemo static void throwMethod() System.out.println(Inside throwMethod.);throw new IllegalAccessException(demo);public static void main(String args) try throwMethod(); catch (IllegalAccessException e) System.out.println(Caught + e);A.編譯錯 B.運行錯C.編譯成功,但是沒有輸出結(jié)果 D.以上都不是5. class X Y b = new Y();X() System.out.print(X);class Y Y() System.out.print(Y);public class Z extends X Y y = new Y();Z() System.out.print(Z);public static void main(String args) new Z();A.Z B.YZ C.XYZ D.YXYZ6. public class MyThread implements Runnable String myString = Yes ;public void run() this.myString = No ;public static void main(String args) MyThread t = new MyThread();new Thread(t).start();for (int i=0; i 10; i+)System.out.print(t.myString);. 打印yes yes yes yes yes yes . 打印no no no no no no no no. 打印yes no yes no ye no ye no . 不確定答案:一、1. 錯。final int i是個final的instant variable (實例變量,或叫成員變量)。final的instant variable沒有default value,必須在constructor (構(gòu)造器)結(jié)束之前被賦予一個明確的值??梢孕薷臑閒inal int i = 0;。2. 錯。Ball ball = new Ball(PingPang);實際上是public static final Ball ball = new Ball(PingPang);。在Ball類的Play()方法中,ball =new Ball(Football);改變了ball的reference,所以編譯時間錯。二、1.答案A2.答案D3.答案C4.答案:A5.答案D6.答案第九單元 試題一、填空題1.創(chuàng)建包需要使用的關(guān)鍵字是_,而且該語句應(yīng)該是整個“.java”文件的_。2.按異常處理不同可分為捕獲異常、聲明異常和_ 三種。3.Java語言中, 通常把可能發(fā)生異常的方法調(diào)用語句放到try塊中,并用緊跟其后的_塊來捕獲和處理異常。4.接口中的成員只有靜態(tài)常量和_。5.Throwable類是類庫_包中的一個類,它派生了兩個子類:_和_。二、簡答題1.Error類和Exception類有什么區(qū)別?2.接口和抽象類有什么區(qū)別?3.什么是包?為什么要使用包?三、閱讀下面的程序,并將有錯誤的地方更正。1. public class MyClasspublic static void main(String args)myMethod();public void myMethod() throw MyExceptionthrows(new MyException();class MyExceptionpublic String toString()return(用戶自定義的異常);2.在空白處填上合適的語句。public class ServerTimedOutException extends Exceptionprivate int port;public ServerTimedOutException(String message, int port)super(message);this.port = port;public int getPort()return port;class Client/在下行空白出填上聲明拋棄ServerTimedOutException異常的語句public void connectMe(String serverName) _int success;int portToConnect = 80;success = open(serverName, portToConnect);if (success = -1)/在下行空白處填上拋出ServerTimedOutException異常的語句_答案:一、1. Pakage、第一條語句2.拋出異常3. Catch4.抽象方法5.Java.lang、Error、Execption二、1.答:Error類及Exception類是Throwable類的兩個直接子類。Error類描述的是內(nèi)部系統(tǒng)錯誤,包括動態(tài)鏈接失敗、虛擬機錯誤等,Java程序不做處理。Exception類描述的是程序和外部環(huán)境引起的錯誤,這些錯誤能通過程序捕獲和處理,Exception類是Java程序中需要大量處理的。2.答:從本質(zhì)上講,接口是一種特殊的抽象類,然而它們又有區(qū)別:第十單元 試題一、簡答題1.什么是異常?為什么要進行異常處理?2.簡述異常處理的過程。二、選擇題1. 下面( )是正確的接口。A. interface A B. abstract interface A Void print() ; print(); C. abatract interface A D. interface A Abstract void print() ; v

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論