java期末複習題-110道選擇題

1.欲構造ArrayList下列哪個敘述是正確的類的一個實例,此類繼承了List接口,下列哪個方法是正確的 ? ( B ) A、 ArrayList myList=new Object(); B、 List myList=new ArrayList();
C、 ArrayList myList=new List(); D、 List myList=new List();
2.編譯Java Application 源程序文件將產生相應的字節碼文件,這些字節碼文件的擴展名爲(B )。
A. java B. class C. html D. exe
3.指出正確的表達式 ( C )
A、 byte b=128 B、 Boolean f=null C、 long k=0xfffL D、 float a=0.9239d
4.下面哪項不是Java中合法的標識符。( C )
A、$code B、PWD
C、*pointer D、_endl
5.在Java中,以下定義數組的語句正確的是( B ) 。
A、int[5] t=new int[]; B、char a[]=“hello world”;
C、int[] t=new int[5]; D、double d=new double[5];
6.在Demo類的public static void main(String[] args)方法參數爲args,當命令行中輸入java Demo Hello world時,args[0]的值爲( A ) 。
A、Hello B、world C、Demo D、java
7.下列那個是反斜槓的正確表示?( A )
A、 \ B、 *\ C、 \’ D、 \’\’
8. 下列哪些語句關於內存回收的說明是正確的? ( B )
A、程序員必須創建一個線程來釋放內存;
B、內存回收程序負責釋放無用內存
C、內存回收程序允許程序員直接釋放內存
D、內存回收程序可以在指定的時間釋放內存對象
9.有一段java程序包含類A和類B,其中類A是公共(public)類,那麼保存這段java程序的源文件名可以是( D )。
(A) B.java (B) A.class © AB.java (D) A.java
10. Java的中間碼(字節碼)文件的擴展名(B )。
(A).java (B).class
(C).bat  (D).jsp
11. 下列關於虛擬機說法錯誤的是:(B)
(A) 虛擬機可以用軟件實現
(B) 虛擬機部可以用硬件實現
(C) 字節碼是虛擬機的機器碼
(D) 虛擬機把代碼程序與各操作系統和硬件分開
12. MAX_LENGTH是int型public成員變量, 變量值保持爲常量100,下列定義正確的常變量是 ( D )。
A、 public int MAX_LENGTH=100; B、 final int MAX_LENGTH=100;
C、 final public int MAX_LENGTH 100; D、 public final int MAX_LENGTH=100;
13.手動拋出異常的關鍵字是哪一個選項? ( C )
A、 transient B、 finally C、 throw D、 static
14.main()方法的返回類型是: ( B )
A、 int B、 void C、 boolean D、 static
15.以下哪個方法用於定義線程的執行體?( C )
A、 start() B、init() C、run() D、synchronized()
16.下列哪個敘述是錯誤的?( B )
A.“9dog”.matches("\ddog")的值是true。
B.new Date(1000)對象含有的時間是公元后1000小時的時間
C.“12hello567”.replaceAll("[123456789]+","@")返回的字符串是@hello@。
D."\hello\n"是正確的字符串常量。
17.在使用interface聲明一個接口時,只可以使用( D )修飾符修飾該接口。
A、private B、protected C、private protected D、public
18.Java的字符類型採用的是Unicode編碼方案,每個Unicode碼佔用( B)個比特位。
A、8 B、16 C、32 D、64
19. 以下關於構造函數的描述錯誤的是(A)。
A、構造函數的返回類型只能是void型。
B、構造函數是類的一種特殊函數,它的方法名必須與類名相同。
C、構造函數的主要作用是完成對類的對象的初始化工作。
D、一般在創建新對象時,系統會自動調用構造函數。
29. 給出如下代碼:
class Test{
private int m;
public static void fun() { // some code… } }
如何使成員變量m 被函數fun()直接訪問?(C)
A、將private int m 改爲protected int m
B、將private int m 改爲 public int m
C、將private int m 改爲 private static int m
D、將private int m 改爲 int m
21. 容器Panel缺省佈局方案是(B)
A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout
22.給定JAVA代碼如下,關於super的用法,以下描述正確的是( D ) 。
class Child extends Father
{
public Child()
{
super();
}
}
A、用來調用類Father中定義的super()方法 B、用來調用類Child中定義的super()方法
C、用來調用類Father中第一個出現的構造方法 D、用來調用類Father中的無參構造方法
23.關於被私有訪問控制符private修飾的成員變量,以下說法正確的是( C ) 。
A、只能被同一個包中的類訪問
B、可以被兩種類訪問和引用:該類本身、該類的所有子類
C、只能被該類自身所訪問和修改
D、可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類

  1. 下面哪一個是Java中不合法的標識符( A )。
    (A)#num (B)$name
    (C)myVar (D)_name1
    25.設有定義float x=3.5f, y=4.6f, z=5.7f;則以下的表達式中,值爲true的是( B )。
    (A) x > y || x > z (B) x != y © z > ( y + x ) (D) x < y & ! ( x < z )
    26.下列語句序列執行後,k的值是( C )。
    int i=10, j=18, k=30;
    switch( j - i )
    { case 8 : k++;
    case 9 : k+=2;
    case 10: k+=3;
    default : k/=j;
    }
    (A) 31 (B) 32 © 2 (D) 33
    27.. class 和.java 文件的含義分別是:(A)
    A. Java 目標碼文件和源文件; B. Java 可執行文件和目標碼文件;
    C. Java 源文件和目標碼文件; D. Java 源文件和Java 平臺配置文件;
    28.在Java中,下列( D )類不能派生出子類。
    A、final class MyClass{} B、class MyClass{}
    C、abstract class MyClass{} D、public class MyClass{}
    29.將對象序列化,要實現哪個接口?( A )
    A、Serializable B、Runnable
    C、Cloneable D、Comparator
    30.在下面的代碼中,break語句的作用是:(C)
    for (int i = 0; i < 10; i++) if (i= = 5) { break; }
    A. 退出if 程序塊; B. 退出此次循環,直接進入下一次循環;
    C. 退出整個循環; D. 退出整個函數
    31.給定Java代碼如下,編譯運行結果是( C ) 。
    public class Test{
    public int count(){
    return 1%9;
    }
    public static void main(String[] args){
    System.out.println(count());
    }
    }
    A、運行錯誤 B、正常運行,輸出1
    C、編譯錯誤 D、正常運行,輸出9

  2. 以下關於異常捕獲的原則中,錯誤的是(D )
    A.RuntimeException 可以不被捕獲,Java會自動處理運行期異常。
    B.先列出子類,後列出父類。
    C.先列出具體的異常類,後列出通用的異常類。
    D.Exception類必須出現,而且必須作爲catch塊中第一個匹配的類。
    33.下列哪個敘述是不正確的?( D )
    A.JFrame窗口可以調用setTitle(String s)方法設置窗口的標題。
    B.JFrame創建的窗口默認是不可見的。
    C.JFrame的默認佈局是BorderLayout佈局。
    D.JPanel的默認佈局是BorderLayout佈局。
    34.給出如下代碼片段,以下哪個選項的值爲false?( A )
    String s1 = “Hello”;
    String s2= “Hello”;
    String s3 = new String(“Hello”);
    A、s1 == s3; B、s1 == s2;
    C、s1.equals(s2); D、s1.equals(“Hello”);
    36.下述概念中不屬於面向對象方法的是D___。
    A.對象、消息 B.繼承、多態 C.類、封裝 D.過程調用
    37.下列語句序列執行後,x的值是( D )。
    int x=16;
    do { x/=2;
    } while( x > 3 );
    (A) 16 (B) 8 © 4 (D) 2
    38.類可以保護它的成員變量和成員函數不會被其他對象隨意訪問到,這一特性屬於類的( A )。
    A. 封裝性 B. 繼承性
    C. 多態性 D. 重載
    39.如果要保證HashSet中元素的唯一性,那麼元素所屬類要重寫Object的哪些方法?( D )
    A、clone和equals B、hashCode和clone
    C、finalize和clone D、hashCode和equals
    40.有如下類定義:
    class Superclass { }
    class Subclass extends Superclass { }
    則關於下列代碼片段的正確說法是( A )。
    Superclass a = new Superclass();
    Subclass b = a;
    A、編譯非法 B、編譯正確,但運行時可能非法
    C、運行時正確 D、編譯正確,但運行時錯誤

  3. 下列類的定義,錯誤的是( D )
    A. public class test extends Object{…… }
    B. final class operators{……}
    C. class Point{…… }
    D. void class Point{……}
    42.結構化程序設計所規定的三種基本控制結構是 ( C )
    A.輸入、處理、輸出 B.樹形、網形、環形
    C.順序、選擇、循環 D.主程序、子程序、函數

43.下列布局管理器中,哪一個會在前個組件相同行上放置組件,直到該組件超出容器的寬度,然後從新行開始,並把添加的組件居中放置( B )。
A、BorderLayout B、FlowLayout
C、CardLayout D、GridLayout
44.以下對重載描述錯誤的是( C )。
A、形參名不是區分方法重載的條件 B、重載要求方法名相同,參數列表不同
C、構造方法不能重載 D、重載方法的返回值類型可以不同
45.下列哪個敘述是正確的?( A )
A.允許接口中只有一個抽象方法。
B.如果一個抽象類實現某個接口,那麼它必須要實現接口中的全部方法。
C.如果一個非抽象類實現某個接口,那麼它可以只實現接口中的部分方法。
D.一個類最多可以實現兩個接口。
46. 下列關於for循環和while循環的說法中哪個是正確的? ( c )
A.while循環能實現的操作,for循環也都能實現
B.while循環判斷條件一般是程序結果,for循環判斷條件一般是非程序結果
C.兩種循環任何時候都可替換
D.兩種循環結構中都必須有循環體,循環體不能爲空

47.以下關於異常處理描述不正確的有( D )。
A、try塊不可以省略 B、一個try塊後可以使用多個catch塊
C、finally塊可以省略 D、catch塊和finally塊可以同時省略
48.在Java中,以下代碼( A )正確地創建了一個InputStreamReader對象。
A、new InputStreamReader (new FileInputStream(“1.dat”));
B、new InputStreamReader (new FileReader(“1.dat”));
C、new InputStreamReader (new BufferReader(“1.dat”));
D、new InputStreamReader (“1.dat”);
49.下列哪個變量聲明是錯誤的?( A )
A.float d=12.89;
B.char c=98;
C.int x=1234;
D.byte m=12;
50. 下列關於修飾符混用的說法,錯誤的是(D)
A.abstract 不能與final 並列修飾同一個類 B.abstract類中可以有非abstract的方法
C.普通類(非abstract類)中不能有abstract方法 D.static方法中能處理非static的屬性
51. Java不支持多重繼承,但我們可以通過(B)實現
A.多態 B.接口 C.覆蓋 D.抽象類
52.以下負責建立與數據庫連接的是( B )。
A、Statement B、 DriverManager
C、PreparedStatement D、ResultSet
53.欲構造ArrayList類的一個實例,下列哪項是正確的?( B )
A、ArrayList list=new Object( ); B、List list=new ArrayList( );
C、ArrayList list=new List( ); D、List list=new List( );

  1. 已知類Person是類Student的父類,以下數組定義和賦值哪些是正確的(A)
    A. Person p[]=new Person[3]; p[1]=new Student();
    B.Student s[]=new Person[3]; s[1]=new Person();
    C.Person p[]= new Student[3];p[1]= new Person();
    D.Student s[]=new Student[3];s[1]=new Person;

  2. main 方法是java Application 程序執行的入口點,關於main方法的方法頭以下(B)是合法的。
    A.public static void main() B.public static void main(String arg[])
    C.public static int main(String[] arg) D. B.public void main(String arg[])
    56.在讀字符文件data.txt時,應選擇下列哪個類?( C )
    A、FileInputStream B、FileOutPutStream
    C、FileReader D、FileWriter

  3. 下面哪個單詞是Java語言的關鍵字(B)
    A.Float B.this C.string D.unsigned

  4. switch語句(A)
    A.都可以用if-else if結構實現 B.都不可以用if-else if結構實現
    C.有的可以用if-else if結構實現 D.大部分不可以用if-else if結構實現

  5. 在異常處理中,如釋放資源、關閉文件等善後操作由(C)來完成。
    A. try子句 B. catch子句 C. finally子句 D. throw子句

60下面是People和Child類的定義,在執行new Child(“son”)的時候都有哪些構造方法被順序調用?請選擇輸出結果 ( B )。
class People {
String name;
public People() { System.out.print(1); }
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + “:F”);
}
public Child(){ System.out.print(4); }
}
A、32 B、132 C、432 D、312
61.list是一個ArrayList的對象,哪個選項的代碼填寫到//todo delete處,可以在Iterator遍歷的過程中正確並安全的刪除一個list中保存的對象?( B )
Iterator it = list.iterator();
int index = 0;
while (it.hasNext()){
Object obj = it.next();
if (needDelete(obj)) { //needDelete返回boolean,決定是否要刪除
//todo delete
}
index ++;
}
A、list.remove(obj); B、it.remove();
C、list.remove(index); D、list.remove(it.next());
62.對於下列程序,哪個敘述是正確的?( C )
public class E {
public static void main(String args[]) {
Target target =new Target();
Thread thread =new Thread(target);
thread.start();
}
}
class Target implements Runnable{
public void run(){
System.out.println(“ok”);
}
}
A.JVM認爲這個應用程序只有一個thread線程。
B.JVM認爲這個應用程序只有一個主線程。
C.JVM認爲這個應用程序共有兩個線程。
D.thread的優先級是10級。
63.若在一個類中對構造方法進行了重載,那麼構造方法之間的調用是通過哪個關鍵字來實現的?(D )
A. that B. super C. those D. this
64.以下哪個修飾符不能用來修飾類?( B )
A、public B、private C、final D、abstract
20.Math.round(4.5)等於多少?Math. floor (4.5)等於多少?( B )
A、4,4.0 B、5,4.0
C、5,5.0 D、4,5.0

  1. 下面是People和Child類的定義和構造方法,每個構造方法都輸出編號。在執行new Child(“mike”)的時候都有哪些構造方法被順序調用?請選擇輸出結果 ( D )
    class People {
    String name;
    public People() { System.out.print(1); }
    public People(String name) {
    System.out.print(2);
    this.name = name;
    }
    }
    class Child extends People {
    People father;
    public Child(String name) {
    System.out.print(3);
    this.name = name;
    father = new People(name + “:F”);
    }
    public Child(){ System.out.print(4); }
    }
    A)312 B) 32
    C) 432 D) 132
  2. A派生出子類B,B派生出子類C,並且在Java源代碼中有如下聲明:
  3. A a0=new A();
  4. A a1 =new B();
  5. A a2=new C();
    問以下哪個說法是正確的? ( D )
    A、只有第1行能通過編譯
    B、第1、2行能通過編譯,但第3行編譯出錯
    C、第1、2、3行能通過編譯,但第2、3行運行時出錯
    D、第1行、第2行和第3行的聲明都是正確的
  6. 下面哪個修飾符修飾的方法只能被本類中的其他方法使用(C)
    A. protected B. static C. private D.public
  7. 下面哪條語句定義了5個元素的數組(A)
    A. int[]a={22,23,24,25,12}; B. int a []=new int(5); C. int[5] array; D. int[] arr;
  8. 下面哪項可以得到數組元素的個數,Java中定義數組名爲abc。( B )
    A. abc.length() B. abc.length C. len(abc) D.ubound(abc)
  9. 下面哪個修飾符修飾的變量是所有同一個類生成的對象共享的(C)
    A. public B. private C.static D.final
  10. 下面關於構造方法的說法不正確的是(B)
    A、構造方法也屬於類的方法,用於創建對象的時候給成員變量賦值。
    B、構造方法不可以重載。 C、構造方法沒有返回值
    D、構造方法一定要和類名相同
  11. 如果希望所有的控件在界面上網格排列,應使用下列那種佈局管理器?(B)
    A. BoxLayout B. GridLayout C.BorderLayout D.FlowLouLayout
    73.Java語言具有許多優點和特點,下列選項中,哪個反映了Java程序並行機制(B)
    A、 安全性 B、多線程 C、跨平臺 D、可移植
    74.函數重載是指(A)
    A兩個或兩個以上的函數取相同的函數名,但形參的個數或類型不同
    B兩個以上的函數取相同的名字和具有相同的形參個數和類型
    C兩個以上的函數名字不同,但形參的個數或類型相同
    D兩個以上的函數取相同的函數名,並且函數的返回類型相同
  12. 下列敘述那個是正確的?( A )。
    A. final類不能有子類
    B. abstract類中只可以有abstract方法
    C. abstract類中可以有非abstract方法,但該方法不可以用final修飾
    D. 可以同時用final和abstract修飾一個方法
    76.在使用interface聲明一個接口時,可以使用( D )修飾符修飾該接口。
    (A)abstract (B)protected
    (C)private (D)public
    77.下列關於異常處理說法錯誤的是?( A )
    A.Java中所有的異常都必須處理 B.使用catch來捕獲異常
    C.可能產生異常的語句放在try塊中 D.無論是否發生異常,finally代碼塊都會執行
    78.構造方法何時被調用(B)
    A、類定義時 B、創建對象時C、調用對象方法時 D、使用對象的變量時
    79.Java中哪個類提供了隨機訪問文件的功能(A)
    A.RandomAccessFile類 B.RandomFile類C.File類 D.AccessFile類
    80.當方法遇到異常又不知如何處理時,應該怎麼做(B)
    A.捕獲異常 B.拋出異常C.聲明異常 D.嵌套異常
  13. Java提供的類InetAddress來進行有關Internet地址的操作.( D )
    A. Socket B.ServerSocket C. DatagramSocket D InetAddress
  14. InetAddress類中哪個方法可實現正向名稱解析?( B )
    A. isReachable() B. getHostAddress() C. getHosstName() D.getByName()
  15. 爲了獲取遠程主機的文件內容,當創建URL對象後,需要使用哪個方法獲取信息(C)
    A.getPort() B.getHost C.openStream() D.openConnection()
  16. java程序中,使用TCP套接字編寫服務端程序的套接字類是(A )
    A. ServerSocket B. Socket C. DatagramSocket D.DatagramPacket
  17. ServerSocket的監聽方法accept()的返回值類型是( C )
    A. void B. Object C. Socket D. DatagramSocket
    86.以下關於字符串類的說法錯誤的是( B)。
    (A)字符串常量是String類對象
    (B)String類的對象只能用“new”關鍵字生成
    (C)String類生成的對象是不可變的
    (D)StringBuffer類生成的對象用於存儲可變的字符串
    87.java中用來拋出異常的關鍵字是©
    (A)try (B)catch (C)throw (D)finally
    88.(A)類是所有異常類的父類。
    (A)Throwable (B)Error(C)Exception (D)AWTError
    89.框架(JFrame)的缺省佈局管理器就是(A)
    (A)Border Layout
    (B)Card Layout
    (C)Flow Layout
    (D)Grid Layout
  18. ServerSocket的getInetAddress()的返回值類型是( C )
    A. Socket B ServerSocket C.InetAddress D,.URL
    91.當使用客戶端套接字Socket創建對象時,需要指定(A )
    A.服務器主機名稱和端口 B、服務器端口和文件 C、服務器名稱和文件
    D.服務器地址和文件
    92.使用流式套接字編程時,爲了向對方發送數據,則需要使用哪個方法( C )
    A.getInetAddress() B. getLocalPort() C.getOutputStream() D.getInputStream()
  19. 使用UDP套接字通信時,常用哪個類把要發送的信息打包? ( D )
    A. String B. DatagramSocket C. MulticastSocket D.DatagramPacket
  20. java程序中,使用TCP套接字編寫服務端程序的套接字類是(B)
    A. Socket B. ServerSocket C. DatagramSocket D.DatagramPacket
  21. 使用UDP套接字通信時,哪個方法用於接收數據 ( B )
    A. read() B. receive() C. accept() D. Listen()
    96 若要取得數據包的中源地址,可使用下列哪個語句( A )?
    A. getAddress() B. getPort() C. getName() D.getData()
    97.要使用java程序訪問數據庫,則必須首先與數據庫建立連接,在建立連接前,應加載數據庫驅動程序,該語句爲( A )
    A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
    B. DriverManage.getConnection(“”,””,””)
    C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()
    D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()
  22. 要使用java程序訪問數據庫,則必須首先與數據庫建立連接,該語句爲( B )
    A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
    B. DriverManage.getConnection(“”,””,””)
    C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()
    D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()
  23. java程序與數據庫連接後,需要查看某個表中的數據,使用下列哪個語句?( A )
    A. executeQuery() B.executeUpdate() C executeEdit() D.executeSelect()
    100.下列屬於節點流的是(C)
    A.BufferInputStream和BufferOutputStream
    B.DataInputStream和DataOutputStream
    C.FileInputStream和FileOutputStream
    D.InputStreamReader和OutputStreamWriter
    101.下列描述中,正確的是©
    A) 在Serializable接口中定義了抽象方法
    B) 在Serializable接口中定義了常量
    C) 在Serializable接口中沒有定義抽象方法,也沒有定義常量
    D) 在Serializable接口中定義了成員方法
    102.線程調用了sleep()方法後,該線程將進入( C )狀態。
    (A)就緒狀態(B)運行狀態(C)阻塞狀態(D)終止狀態
  24. java程序與數據庫連接後,需要查看某個表中的數據,使用下列哪個語句?(A)
    A. executeQuery() B.executeUpdate() C executeEdit() D.executeSelect()
    104.線程生命週期中正確的狀態是
    A) 新建狀態、運行狀態和終止狀態
    B) 新建狀態、運行狀態、阻塞狀態和終止狀態
    C) 新建狀態、可運行狀態、運行狀態、阻塞狀態和終止狀態
    D) 新建狀態、可運行狀態、運行狀態、恢復狀態和終止狀態
    105、運行下列程序, 會產生什麼結果?( )
    public class X extends Thread implements Runable{
    public void run(){
    System.out.println(“this is run()”);
    }
    public static void main(String args[]) {
    Thread t=new Thread(new X());
    t.start();
    }
    }
    A、第一行會產生編譯錯誤
    B、第六行會產生編譯錯誤
    C、第六行會產生運行錯誤
    D、程序會運行和啓動
    106.以下哪個方法用於定義線程的執行體?(A)
    A. run() B. start() C. sleep() D. suspend()
    107.接口Statement中定義的executeQuery方法返回的類型是(A)
    A. ResultSet
    B. int
    C. boolean
    D. String

108、下列選項中,用於定義接口的關鍵字是( C )
A、import
B、implements
C、interface
D、protected

109.定義類頭時能使用的修飾符是( C )。
A) private B) static C) abstract D) protected

  1. ServerSocket的監聽方法accept()的返回值類型是( C ) 。
    A、DatagramPacket B、Object
    C、Socket D、DatagramSocket
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章