《Java程序設計》課程試題



《  Java程序設計   》課程試題

                                          
一、單項選擇題(20題;每題2分,共40分)
1、若數組a定義為int[][]a=new int[3][4],則a是___。
A)一維數組        B)二維數組        C)三維數組        D)四維數組
答案:B (難度系數C 知識點: 數組) 2、    Java語言使用的字符碼集是____。
A)Unicode        B)BCD        C)DCB        D)ASCⅡ
答案:A (難度系數C 知識點:編碼) 3、下列關於Java Application程序特點的描述中,錯誤的是 ___。
A) 該程序只能是一個名字與主類名相同的文件組成。
B)該程序中僅有一個主方法,並被包含在某個類中。
C) 該程序中沒有不屬於某個類的方法。
D)該程序實際上是一個類串。
答案:D (難度系數C , 知識點:JAVA語言特點) 4、下列屬於Java合法的一組標識符是_____。
   A)void    define   "ABC"   _sys_tea
   B)If       _123    $points   myName               
   C) &5678    class    case     #time     
   D)DO     +static    25c     My_name          
答案:B (難度系數C , 知識點:JAVA語言標識符) 5、在Java中,關鍵字_____使類不能派生出子類。
A) final       B)public        C)volatile      D)native
答案:A   (難度系數A , 知識點:繼承)
6、以下關於循環語句描述正確的是___。
A) for循環不可能產生死循環
B)while循環不可能產生死循環
C) for循環不能嵌套while循環
D) 即使條件不滿足do……while循環體內的語句也至少執行一次
答案:D  (難度系數B)知識點:循環  7、以下對選擇語句的描述錯誤的是___。
A)根據某一條件重復執行一部分代碼直到滿足終止循環條件為止
B) 可以根據條件控制程序流程,改變程序執行的順序
C)選擇語句可以嵌套使用
D)當條件滿足時就會執行相應的語句
答案:A  (難度系數 C)知識點:選擇結構 8、Java中___類提供了隨機訪問文件的功能. 
A)RandomAccessFile     B)RandomFile     C)File    D)AccessFile 
答案:A  (難度系數B)知識點:數據流 9、實現一個繼承接口Runnable的類需要實現___方法。    
A)  start  B)run   C) wait  D)paint
答案:B  (難度系數B)知識點:多線程 10、可以改變容器布局的語句是___。
A)addLayout(myLayout)    B)layout(myLayout)
C) setLayout(myLayout)    D)setLayoutManager(myLayout) 
答案:C (難度系數B)知識點:GUI編程 11、下列代碼的輸出是______。
public class test{
     public static void main(String args[]){
System.out.print("IBM\n012\63ABC\\".length( ));
}
}
A) 12                      B) 13        
C) 14                      D) 15
答案    A     (難度系數C   知識點: 字符串)        
12、下列關於構造方法的敘述中,錯誤的是___。
A)Java語言規定構造方法名與類名必須相同
B)Java語言規定構造方法沒有返回值,但不用void聲明
C)Java語言規定構造方法不可以重載
D)Java語言規定構造方法只能通過new自動調用
答案:C (難度系數B)知識點:構造方法 13、 關於被私有訪問控制符private修飾的成員變量,以下說法正確的是___。
A)可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類
B)可以被兩種類訪問和引用:該類本身、該類的所有子類
C)只能被該類自身所訪問和修改
D)只能被同一個包中的類訪問
答案:C (難度系數B)知識點:類的繼承 14、以下語句正確的是___。
A) x+1=5;    B) i++=1; C) a++b=1;    D)  x+=1;
答案:D  (難度系數B)知識點:表達式 15、以下結果為真(true)的是___。
A)10>’a’    B)’a’>20    C) !true   D)(3<5) && (4>10)
答案:B  (難度系數B)知識點:表達式 16、int a=’2’; a的值是___。
A)1  B)50 C)49 D)2
答案:B (難度系數B)知識點:表達式
17、下面選項中,___不可以用作變量名的首字符。
A)字母  B)下划線(_)  C)數字  D)美元符號(¥)
答案:C (難度系數C)知識點:變量 18、 在HTML中,用________標簽來強制顯示Applet。
A)  name,height,width       B)codebase, height,width    
 C) code,name                   D) code, height,width
答案:D (難度系數B)知識點:小應用程序 19、在JAVA編程中,基於線程的多任務處理環境中,執行特定任務的可執行代碼的最小單位是__ _____。
   A)進程                       B)線程
C)應用程序                    D)服務
答案:B (難度系數A,知識點:線程) 20、intpublic 成員變量 MAX_LENGTH,該值保持為常數100,則定義這個變量的語句是____。
A)public int MAX_LENGTH=100
B)final int MAX_LENGTH=100
C)public const int MAX_LENGTH=100
D)public final int MAX_LENGTH=100 答案:D;(難度系數:C;知識點:語法基礎) 
二、填空題(10題;每題2分,共20分)
1、表達式1/2*3的結果是____。
答案:0  (難度系數 B)知識點:表達式
2、定義一個包含7個元素的數組a,則該數組的最后一個元素是          。
答案:a[6]  (難度系數C)知識點:數組
3、在Java中只能實現單繼承(Java不支持多重繼承),但可通過         實現多重繼承。
答案:接口 (難度系數 B)知識點:接口 4、 Applet的生命周期是有init()、start()、stop()、destroy()這4個方法構成的,在程序執行過程中,        方法只被調用執行一次,但 start()方法可以多次被調用執行。
答案:init( ) (難度系數B)知識點:小應用程序 5、在定義類時,指明類成員的權限修飾符有           、          
和               。
答案public protected  private    難度系數B  知識點:類的定義

6 已知:int a[ ]={2,4,6,8};  則:表達式(a[0]+=a[1])+ ++a[2]值為_________
答案:_13_ (難度系數B 知識點:數組) 7 JDK提供的編譯器是___。
答案:javac.exe (難度系數B)知識點:JAVA簡介 8 設 x = 2 ,則表達式 ( x + + )/3 的值是        。
答案:0  (難度系數 B)知識點:表達式
9 構造方法只能通過         運算符調用,用戶不能直接調用。
答案:new (難度系數 B)知識點:構造方法 10線程同步執行過程中,wait()方法與        方法是匹配使用,否則易造成死鎖。
答案:notify (難度系數 A)知識點:線程同步 
三、判斷題(10題;每題1分,共10分)

1. ( )由繼承性可知,程序中子類擁有的成員數目一定大於等於父類擁有的成員數目。 
答案:錯 難度系數: C 知識點:類繼承 2.( )注釋的作用是使程序在執行時在屏幕上顯示//之后的內容。                    
答案:錯            難度系數:   C        知識點:函數注釋
3.( )在異常處理中總是將可能產生異常的語句放在try塊中,用catch子句去處理異常,而且一個try塊之后只能對應一個catch語句。                                              
答案:錯 難度系數: B 知識點:異常處理 4. ( )Java是區分大小寫的語言,關鍵字的大小寫不能搞錯,如果把類class寫成Class或者CLASS,都是錯誤的。
答案:對  (難度系數B)知識點:關鍵字 5.( )JAVA語言對內存的釋放是采用垃圾自動回收機制。JAVA虛擬機自動判斷並收集“垃圾”,但一般不立即釋放它們的存儲空間。
答案:對  (難度系數B)知識點:內存回收 6.( )子類可以繼承父類所有的成員變量和成員方法。
答案:錯  (難度系數B)知識點:繼承 7.(  )java程序是由若干個類定義組成的。
 答案 對 難度系數 C 知識點:程序結構 8.(  )在面向對象方法中,類的實例稱為對象。()
答案:對;難度系數:C;知識點:面向對象基礎。 9.( )即使一個類中未顯式定義構造函數,也會有一個缺省的構造函數,缺省的構造函數是無參的,函數體為空。                                                                  

答案:對 難度系數: C 知識點:構造函數 10.()Java程序里,創建新的類對象用關鍵字new,回收無用的類對象使用關鍵字free。  
答案:錯 難度系數: C 知識點:類實例化 
四、程序填空題(1題;每題5分,共5分)
1.以下為一個java的完整程序,它定義了一個類Car,並在程序中創建了一個該類的對象DemoCar,調用該對象的set_number方法設置車號屬性為3388,調用該對象的show_number方法輸出車號。
//Car.java
class Car
{ int car_number;
 void set_number(int car_num)
 {  car_number=car_num    ;} 
 void show_number()
 {  System.out.println(“My car No. is :”+car_number); }
}
}
//CarDemo.java
class CarDemo
{ public static void main(String args[])
   {   Car Democar=   (1)      ;//構造一輛車
        DemoCar.  (2)         ; //設置車號為3388
        DemoCar.   (3)     ; //顯示車號
}
}
難度系數B 知識點:JAVA類特性 答案:(1)new  Car()
(2)set_number(3388)
(3)show_number()


五、讀程序寫結果(1題;每題5分,共5分)
1.寫出下列程序在控制台窗口中的輸出結果。
public class J_Hanoi
{
    public static void mb_hanoi(int n, char start, char temp, char end)
    {
        if (n<=1)
            System.out.println("將盤從" + start + "移到" + end);
        else
        {
            mb_hanoi(n-1, start, end, temp);
            System.out.println("將盤從" + start + "移到" + end);
            mb_hanoi(n-1, temp, start, end);
        } // if-else結構結束
    } // 方法mb_hanoi結束

    public static void main(String args[ ])
    {
        mb_hanoi(3, 'S', 'T', 'E');
    } 
} 
程序運行結果是:                  

(難度系數 B) 答案:將盤從S移到E 將盤從S移到T 將盤從E移到T 將盤從S移到E 將盤從T移到S 將盤從T移到E 將盤從S移到E 知識點:迭代

六、編程題(2題;每題10分,共20分)

1 從標准輸入(即鍵盤)讀入10個整數存入整型數組a中,然后逆序輸出這10個整數。
難度系數A   
知識點:JAVA輸入輸出
答案:  
  import Java.io.* ;
  public class Reverse{
  public static void main(String args[ ]){ 
      int i,n=10 ;
    int a[ ]=new int[10];
    for(i=0;i<n;i++)
     try {
   BufferedReader br=newBufferedReader(new InputStreamReader(System.in));
   a[i]=Integer.parseInt(br.readLine( ));   // 輸入一個整數
     } 
     catch (IOException e) { } ;
     for (i=n-1;i>=0;i--)
      System.out.print(a[i]+"  ");
      System.out.println( );
    }
  }

2設計雇員Employee類,記錄雇員的情況,包括姓名、年薪、受雇時間,要求定義MyDate類作為受雇時間,其中包括工作的年、月、日,並用相應的方法對Employee類進行設置。編寫測試類測試Employee類。要求使用自己的包。
(難度系數 A   知識點:類的定義 )
答案:package mypackage.employee;
  class MyDate{
  private int year;
  private int month;
  private int day;
  public MyDate(int year,int month,int day){
  this.year=year;
  this.month=month;
  this.day=day;
  }
  public int getYear(){
  return year;
  } 
  }
  public class Employee{
  private String name;
  private double salary;
  private MyDate hireDay;
  public Employee(String name,double salary,MyDate day){
  this.name=name;
  this.salary=salary;
  hireDay=day;
  }
  public void print(){
  System.out.println(name+ ""+salary+""+hireYear());
  }
  public int hireYear(){
  return hireDay.getYear();
  }
  }
  class TestEmployee{
  public static void main(String [] args){
  Employee a=new Employee("李明",20000,new MyDate(2000,10,1));
  Employee b=new Employee("王強",24000,new MyDate(1995,8,12));
  a.print();
  b.print();
  }
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM