《面向對象程序設計JAVA語言程序設計》期末考試試題及部分答案_第1頁
《面向對象程序設計JAVA語言程序設計》期末考試試題及部分答案_第2頁
《面向對象程序設計JAVA語言程序設計》期末考試試題及部分答案_第3頁
《面向對象程序設計JAVA語言程序設計》期末考試試題及部分答案_第4頁
《面向對象程序設計JAVA語言程序設計》期末考試試題及部分答案_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

一、單選題1. 在下列概念中,Java語言只保留了DA運算符重載B結構和聯合C指針D 方法重載2. 下列類定義中,不正確的是BAclass x . Bstatic class x implements y1,y2 . Cpublic class x extends Applet . Dclass x extends y . 3. 下列語句序列執行后,k 的值是Bint m=3, n=6, k=0; while( (m+) y | x z Bz ( y + x )Cx != y Dx y & ! ( x z )8. 下列修飾符中,定義類頭時能使用的修飾符是CAprivate Bstatic Cabstract Dprotected9. 設i、j、k為類x中定義的int型變量名,下列類x的構造函數中不正確的是BAx( int m) . Bvoid x( int m) . Cx( int m, int n) . Dx( int h,int m,int n) . 10. 下列對封裝性的描述中,錯誤的是 DA封裝體包含了屬性和行為B封裝使得抽象的數據類型提高了可重用性C被封裝的某些信息在封裝體外是不可見的D封裝體中的屬性和行為的訪問權限是相同的11. 下列關于包的描述中,錯誤的是 BA包是若干個類的集合B包是一種特殊的類型C包是使用package語句創建的D包有有名包和無名包兩種12. 下列關于Applet程序的描述中,錯誤的是 CAApplet程序的主類必須是Applet類得子類BApplet不是完整的獨立程序CApplet程序的主類中應有一個main()方法DApplet的字節碼文件必須嵌套在一個HTML文件中13. 下列界面元素中,不是容器的是CA DialogBFrameCListDPanel14. 下列關于異常處理的描述中,錯誤的是 DA程序運行時異常由Java虛擬機自動進行處理B使用try-catch-finally語句捕獲異常C使用throw語句拋出異常D捕獲到的異常只能在當前方法中處理,不能在其他方法中處理15. 以下方法不屬于迭代器(Iterator)接口所定義的方法的是 DAhasNext()Bnext()Cremove()DnextElement()16. 主線程屬于(C )A守護線程BThread線程C用戶線程DRunnable線程二、填空題1. 三目運算符的3個操作數中,第一個操作數的類型必須是 邏輯 型的。2. 在Java的基本數據類型中,char型采用Unicode編碼方案,每個Unicode碼占用 2 字節內存空間,這樣,無論是中文字符還是英文字符,都是占用 2 字節內存空間。3. 假設x=13,y=4,則表達式x%y != 0的值是 true ,其數據類型是 布爾型 。4. Java語言中,多態性主要表現在兩個方面: 方法重載 和 成員覆蓋 。5. 定義類的關鍵字是 class ,定義接口的關鍵字是 interface 。6. 在Java語言中,通過類的定義只能實現 單 重繼承,但通過接口的定義可以實現 多 重繼承關系。7. 在Java中字符串包括字符串常量和字符串變量,分別由類 String 和類 StringBuffer 來創建對象。8. Java 源程序文件編譯后產生的文件稱為 class 文件,其擴展名為 java 。9. 在多線程程序設計中,若要啟動一個線程需要調用的函數是 start 。10. 在Java語言中,系統規定:表示當前類的構造方法用 this ,表示直接父類的構造方法用 super 。17. Java語言規定標識符是由 字母 、 下劃線 、 數字 和 美元符號 組成的字符序列,長度不限;又規定第一個字符不能是 數字 ,并區分字母的大小寫。18. Java中實現多線程一般使用兩種方法,一是Thread,二是 Runnable 。19. Java中變量有三要素: 類型 、 變量名 和 變量值 。20. Java語言中,說明或聲明數組時 內存大小,創建數組時 內存大小。21. 集合框架提供的Map接口的實現類中,在Map中插入、刪除和定位元素,使用 HasMap 是最好的選擇;需要按順序遍歷鍵,需選擇 ThereMap 。22. Outputstream 類和 Inputstream類是所有字節流輸入輸出類的父類。23. 導入my.package包中的所類的命令是 import 。24. 構造方法是一種特殊的成員方法,構造方法名與 類 相同,并且此方法 無 有返回值。25. 圖形用戶界面的設計中有事件處理模型處理事件,在該模型中主要包括 事件源、事件對象 和 事件監聽者 。三、判斷題1. Java語言具有較好的安全性和可移植性及與平臺無關等特性。T2. Java語言的基本數據類型有4種:整型、浮點型、字符型和布爾型。T3. 組成Java Application的若干類中,有且僅有一個主類,只有主類中含有主方法main。T4. 數據由高類型轉換到低類型時候,采用強制轉換,數據精度要受到損失。T5. 子類所繼承父類的成員都可以在子類中訪問。6. 靜態方法只能處理靜態變量。T7. 抽象方法是一種只有說明而無具體實現的方法。 8. Java語言規定在嵌套的程序塊中不允許定義同名的成員變量。9. Throwable類有兩個子類:Error類和Exception類。前者由系統保留,后者供應用程序使用。10. 運行Applet程序是使用AppletViewer命令運行嵌入了字節碼文件的html文件,從而獲得運行結果。 11. 成員方法的重載和覆蓋是同一回事。12. 集合Set是通過鍵-值對的方式來存儲對象的。13. Java語言是一種強類型語言,數據類型轉換有兩種:隱含轉換和強制轉換。14. Java語言中,數組在靜態和動態賦值時都判越界。15. Frame容器是有邊框的容器,它也是一種獨立窗口,只能作為最外層容器。 16. 死鎖的產生是因為多個線程間存在資源競爭。 1.組成Java Application的若干類中,有且僅有一個主類,只有主類中含有主方法main。( )2.數據由高類型轉換到低類型時候,采用強制轉換,數據精度要受到損失。 ( )3.成員方法的重載和覆蓋是同一回事。( )4.抽象方法是一種只有說明而無具體實現的方法。 ( )5.Java2的事件處理方法是采用委托事件處理模型。 ( ) 6.Throwable類有兩個子類:Error類和Exception類。前者由系統保留,后者供應用程序使用。( )7.運行Applet程序是使用AppletViewer命令運行嵌入了字節碼文件的html文件,從而獲得運行結果。 8.Java語言具有較好的安全性和可移植性及與平臺無關等特性。( )9.Java語言的基本數據類型有4種:整型、浮點型、字符型和布爾型。( )10.子類所繼承父類的成員都可以在子類中訪問。 ( )11.Java語言規定在嵌套的程序塊中不允許定義同名的成員變量。 ( )12.Java語言采用16位顏色標準。Java的調色板保證128色。 13.靜態方法只能處理靜態變量。 ( )14.畫布(Canvas)是一種可容納多個組件的容器。 ( )15.Java語言是一種強類型語言,數據類型轉換有兩種:隱含轉換和強制轉換。( )16.Java語言中,數組在靜態和動態賦值時都判越界。 ( )17.Frame容器是有邊框的容器,它也是一種獨立窗口,只能作為最外層容器。 ( ) 18.集合Set是通過鍵-值對的方式來存儲對象的。 19.異常處理是在編譯時進行的。 ( )20.死鎖的產生是因為多個線程間存在資源競爭。 ( ) 四、閱讀下列程序,請寫出程序的輸出結果1. class B int b;B(int x) b = x;System.out.println(b= + b); class A extends B int a;A(int x, int y) super(x);a = y;System.out.println(b= + b + ,a= + a);public class Test public static void main(String args) A obj = new A(13, 23);答案b=13b=13,a=232. public class Test1 public static void main(String agrs) AB s = new AB(Hello!, I love JAVA.);System.out.println(s.toString();class AB String s1;String s2;AB(String str1, String str2) s1 = str1;s2 = str2;public String toString() return s1 + s2;答案 Hello!I love JAVA.3.public class Test public static void main(String args) int num1 = new int23;num100 = 3;num101 = 9;num102 = 60;num110 = 78;num111 = 79;for (int i = 0; i = 1; i+) for (int j = 0; j num1i.length; j+)System.out.print(num1ij + t);System.out.println();答案3960787904. public class Test public static void main(String agrs) int i, s = 0;int a = 10, 20, 30, 40, 50, 60, 70, 80, 90 ;for (i = 0; i a.length; i+)if (ai % 3 = 0) s += ai;System.out.println(s= + s);答案 s=30s=90s=1805. public class Test3 public static void main(String agrs) A a = new A(2); A b = new A(3);System.out.println(a.isEqualTo(b);class A private int privateVar;public A(int _privateVar) privateVar = _privateVar; boolean isEqualTo(A anotherA) if (this.privateVar = anotherA.privateVar) return true;else return false; 答案false6. public class Test public static void main(String args) int num1 = new int23;num100 = 3;num101 = 9;num102 = 45;num110 = 78;num111 = 79;for (int i = 0; i = 1; i+) for (int j = 0; j num1i.length; j+)System.out.print(num1ij + t);System.out.println();int num2 = new int 1, 2, 3 , 7, 8 , 9 ;for (int i = 0; i num2.length; i+) for (int j = 0; j num2i.length; j+)System.out.print(num2ij + t);System.out.println(); 答案394578790123789 7. public class Test2 public static void main(String agrs) int i, s = 0;int a = 1, 2, 3, 4, 5, 6, 7, 8, 9 ;for (i = 0; i a.length; i+)if (ai % 3 = 0) s += ai;System.out.println(s= + s); 答案s=3s=9s=188. class B int b;B(int x) b = x;System.out.println(b= + b); class A extends B int a;A(int x, int y) super(x);a = y;System.out.println(b= + b + ,a= + a);public class Test public static void main(String args) A obj = new A(5, 10);答案b=5b=5,a=109. public class Test4 public static void main(String agrs) try method(); catch (Exception e) System.out.println(A); finally System.out.println(B);static void method() try wrench();System.out.println(C); catch (ArithmeticException e) System.out.println(D); finally System.out.println(E);System.out.println(F);static void wrench() throw new NullPointerException();答案EAB五、閱讀程序,回答問題1 1: public class Output1 2: public static void main(String arge) 3: int i=0;4: for ( char ch = 97; ch113; ch+,i+) 5: if( i % 8 = 0 )6: System.out.println( );7: System.out.print(t +ch); 8: 9: 10: (1)程序第5、6行的if語句的功能是什么? (2)程序輸出的結果有幾行?2 1: import java.util.Arrays;2: public class SortArray 3: public static void main(String args) 4: String str = size, abs,length,class;5: Arrays.sort(str);6: for (int i=0; istr.length; i+)7: System.out.print(stri+ );8: 9: (1)寫出程序運行后的結果。(2)在第4行和5行之間,進行str0.length()方法調用的返回結果是多少?3 abstract class SuperAbstractvoid a()abstract void b();abstract int c(int i);interface AsSupervoid x();abstract class SubAbstract extends SuperAbstract implements AsSuperpublic void b()abstract String f();public class InheritAbstract extends SubAbstractpublic void x()public int c(int i ) public String f()public static void main(String args)InheritAbstract instance=new InheritAbstract();instance.x();instance.a();instance.b();instance.c(100);System.out.println(instance.f(); 根據以上這段程序,回答問題:(1)哪幾個類是抽象類,寫出類名。(2)哪幾個類是非抽象類,寫出類名。(3)是否有接口,寫出接口名。4定義類A和類B如下。class Aint a=1; double d=2.0; void show( ) System.out.println(Class A: a=+a +td=+d); class B extends A float a=3.0f; String d=Java program.; void show( ) super.show( ); System.out.println(Class B: a=+a +td=+d); 若在應用程序的main方法中有以下語句:A a=new A();a.show();則輸出的結果如何?Class A: a=1d=2.05寫出此程序完成的功能。public class Sum public static void main(String args) double sum = 0.0;for (int i = 1; i = 100; i+)sum += 1.0 / (double) i;System.out.println(sum= + sum);回答問題:以上程序完成什么功能?運行結果是:sum=5.96216寫出此程序完成的功能。import java.io.*;public class ArrayCount public static void main(String args) int i, n = 10, sum = 0, count = 0;int a = new int10;for (i = 0; i n; i+)try BufferedReader br = new BufferedReader(new InputStreamReader(System.in);ai = Integer.parseInt(br.readLine(); catch (IOException e) for (i = 0; i n; i+)sum += ai;sum /= n;for (i = 0; i n; i+)if (ai sum)+count;System.out.println(count);7 import java.util.*;public class Test4 public static void main(String args) Set set = new TreeSet();set.add(new Integer(10);set.add(new Integer(5);set.add(new Integer(15);set.add(new Integer(5);set.add(new Integer(10);System.out.println(size = + set.size();Iterator it = set.iterator();while (it.hasNext() System.out.print(it.next() + );(1)程序運行后輸出的結果如何?size = 35 10 15(2)說明java中的集合(Set接口)和映射(Map接口)的主要區別。8.1: import java.applet.Applet;2: import java.awt.*;3: import java.awt.event.*;4: public class TestKeyListener extends Applet 5: Color clr;6: public void init() 7: addKeyListener(8: new KeyAdapter() 9: public void keyTyped( KeyEvent e ) 10: if(e.getKeyChar()=r|e.getKeyChar()=R)11: clr=Color.red;12: else if(e.getKeyChar()=g|e.getKeyChar()=G)13: clr=Color.green;14: else if(e.getKeyChar()=b|e.getKeyChar()=B)15: clr=Color.blue;16: else17: clr=Color.black; 18: setBackground(clr);19: 20: ); 21: 22: (1)程序第10、11行實現的功能是什么?返回引發鍵盤事件的按鍵所對應的Unicode字符,如果為大寫R或小寫r則讓變量clr等于Color類red方法。(2)編譯該程序,并編寫嵌入該程序字節碼文件的網頁后,通過支持java的瀏覽器打開網頁。如果敲擊鍵盤的b鍵,有什么結果?六、程序設計題1. 設計一個Calculator類,并完成下列的各方法的程序設計并測試: (1)定義add()方法,用來計算兩數(a,b)之和。(2)定義sub()方法,用來計算兩數(a,b)之差。(3)定義mul()方法,用來計算兩數(a,b)之積。(4)定義div()方法,用來計算a/b。 public class kk int a, b;int add() return (a + b);int sub() return (a - b);int mul() return (a * b);int div() if (b != 0)return (a / b);elsereturn 0;public static void main(String args) kk rect = new kk();rect.a = 10;rect.b = 6;System.out.println(add= + rect.add();System.out.println(sub= + rect.sub();System.out.println(mul= + rect.mul();System.out.println(div= + rect.div()

溫馨提示

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

評論

0/150

提交評論