1.使用Java語言編寫的源程序保存時的文件擴展名是( B )。
(A).class (B).java (C).cpp (D).txt
2.設int a=-2,則表達式a>>>3的值為( D )。
(A)0 (B)3 (C)8 (D)-1
3.設有數組的定義int[] a = new int[3],則下面對數組元素的引用錯誤的是( C )。
(A)a[0]; (B)a[a.length-1];
(C)a[3]; (D)int i=1; a[i];
4.在類的定義中可以有兩個同名函數,這種現象稱為函數( D )。
(A)封裝 (B)繼承
(C)覆蓋 (D)重載
5.在類的定義中構造函數的作用是( D )。
(A)保護成員變量 (B)讀取類的成員變量
(C)描述類的特征 (D)初始化成員變量
6.下面關鍵字中,哪一個不是用於異常處理語句( B )。
(A)try (B)break
(C)catch (D)finally
7.類與對象的關系是( A )。
(A)類是對象的抽象 (B)對象是類的抽象
(C)對象是類的子類 (D)類是對象的具體實例
8.下面哪一個是Java中不合法的標識符( D )。
(A)$persons (B)twoNum
(C)_myVar (D)*point
9.為AB類的一個無形式參數無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為( A )。
(A)static void method( )
(B)public void method( )
(C)final void method( )
(D)abstract void method( )
10.欲構造ArrayList類的一個實例,此類繼承了List接口,下列哪個方法是正確的( B )。
(A)ArrayList myList=new Object( )
(B)List myList=new ArrayList( )
(C)ArrayList myList=new List( )
(D)List myList=new List( )
11.Java源文件和編譯后的文件擴展名分別為( B )
(A) .class和 .java (B).java和 .class
(C).class和 .class (D) .java和 .java
12.在Java Applet程序用戶自定義的Applet子類中,一般需要重載父類的( D )方法來完成一些畫圖操作。
(A) start( ) (B) stop( )
(C) init( ) (D) paint( )
13.對於一個Java源文件,import, class定義以及package正確的順序是:A
(A) package,import,class (B) class,import,package
(C) import,package,class (D) package,class,import
14.下面哪個是非法的:D
(A) int I = 32; (B) float f = 45.0;
(C) double d = 45.0; (D) char c = ‘u’; //符號錯
15.Java語言使用的字符碼集是:D
(A) ASCII (B) BCD
(C) DCB (D) Unicode
16. 如果一個類的成員變量只能在所在類中使用,則該成員變量必須使用的修飾是( C )
(A) public (B) protected
(C) private (D) static
17.下面關於main方法說明正確的是:B
(A) public main(String args[ ])
(B) public static void main(String args[ ])
(C) private static void main(String args[ ])
(D) void main()
18.哪個關鍵字可以對對象加互斥鎖?( B )
(A) transient (B) synchronized
(C) serialize (D) static
19.關於抽象方法的說法正確的是( C )
(A)可以有方法體 (B) 可以出現在非抽象類中
(C) 是沒有方法體的方法 (D) 抽象類中的方法都是抽象方法
20.java.io包的File類是( B )
(A)字符流類 (B) 字節流類
(C) 對象流類 (D) 非流類
21.Java application中的主類需包含main方法,以下哪項是main方法的正確形參?( B )
A、 String args B、String args[] C、Char arg D、StringBuffer args[]
22.以下代碼段執行后的輸出結果為( A )
int x=-3; int y=-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3
23.以下關於繼承的敘述正確的是( A )。
A、在Java中類只允許單一繼承
B、在Java中一個類只能實現一個接口
C、在Java中一個類不能同時繼承一個類和實現一個接口
D、在Java中接口只允許單一繼承
24. 若有定義:byte[] x={11,22,33,-66};
其中0≤k≤3,則對x數組元素錯誤的引用是( C )
A)x[5-3]
B)x[k]
C)x[k+5]
D)x[0]
25.paint()方法使用哪種類型的參數? ( D )
A、Graphics B、Graphics2D C、String D、Color
26.以下哪個不是Java的原始數據類型( B )
A、int B、Boolean C、float D、char
27.在Java中,一個類可同時定義許多同名的方法,這些方法的形式參數的個數、類型或順序各不相同,傳回的值也可以不相同。這種面向對象程序特性稱為( C )
A) 隱藏
B) 重寫
C) 重載
D) Java不支持此特性
28. 以下有關構造方法的說法,正確的是:( A )
A. 一個類的構造方法可以有多個
B. 構造方法在類定義時被調用
C. 構造方法只能由對象中的其它方法調用。
D. 構造方法可以和類同名,也可以和類名不同
29.在瀏覽器中執行applet 程序,以下選項中的哪個方法將被最先執行( A )。
A、init() B、start() C、destroy() D、stop()
30.給出下面代碼,關於該程序以下哪個說法是正確的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
System.out.println(arr[0]); }
}
A、編譯時將產生錯誤
B、編譯時正確,運行時將產生錯誤
C、輸出零
D、輸出空
31、有以下方法的定義,請選擇該方法的返回類型( D )。
ReturnType method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
32.下列類定義中哪些是合法的抽象類的定義?( C )
A、abstract Animal{abstract void growl();}
B、class abstract Animal{abstract void growl();}
C、abstract class Animal{abstract void growl();}
D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};}
33.有以下程序片段,下列哪個選項不能插入到行1。( D )
1.________________________
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*;
B、package mypackage;
C、class OtherClass{ }
D、public class MyClass{ }
34. 設有下面兩個賦值語句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述說法正確的是( A )。
A、a是整數類型變量,b是整數類對象。
B、a是整數類對象,b是整數類型變量。
C、a和b都是整數類對象並且值相等。
D、a和b都是整數類型變量並且值相等。
35.在編寫Java Applet程序時,需在程序的開頭寫上( A )語句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
36.下列哪一項不屬於Swing的頂層容器?( B )
A)JApplet B)JTree C)JDialog D)JFrame
37. 為了使包ch4在當前程序中可見,可以使用的語句是( A )。
A)import ch4.*; B)package ch4.*;
C)ch4 import; D)ch4 package;
38. 請問所有的異常類皆繼承哪一個類?( B )。
A)java.io.Exception B)java.lang.Throwable
C)java.lang.Exception D)java.lang.Error
39.進行Java基本的GUI設計需要用到的包是( C )。
A)java.io B)java.sql C)java.awt D)java.rmi
40. 當點擊鼠標或者拖動鼠標時,觸發的事件是下列的哪一個?( D )
A)KeyEvent B)ActionEvent C)ItemEvent D)MouseEvent
41、如下哪個是Java中的標識符( A )
A、fieldname B、super C、3number D、#number
42、設 x = 1 , y = 2 , z = 3,則表達式 y+=z--/++x 的值是( A )。
A. 3 B. 3. 5 C. 4 D. 5
43、下面的代碼段執行之后count的值是什么( D )
int count = 1;
for (int i = 1; i <= 5; i++) {
count += i;
}
System.out.println(count);
A、5 B、1 C、15 D、16
44、為AB類的一個無形式參數無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為( A )。
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( )
45、下列程序段執行后的結果是( A )。
String s = new String("abcdefg");
for (int i=0; i<s.length(); i+=2){
System.out.print(s.charAt(i));
}
A) aceg B) ACEG C) abcdefg D) abcd
46、下面程序段執行后b的值是( B )。
Integer integ =new Integer(9);
boolean b = integ instanceof Object;
A) 9 B) true C) 1 D) false
47.關於 for循環和 while循環的說法哪個正確? ( B )
A.while循環先判斷后執行,for循環先執行后判斷。
B.while循環判斷條件一般是程序結果,for循環的判斷條件一般是非程序結果
C.兩種循環任何時候都不可以替換
D.兩種循環結構中都必須有循環體,循環體不能為空
48.關於對象成員占用內存的說法哪個正確? ( B )
A.同一個類的對象共用同一段內存
B、同一個類的對象使用不同的內存段,但靜態成員共享相同的內存空間
C.對象的方法不占用內存
D.以上都不對
49.關於繼承的說法正確的是: ( B )
A、子類將繼承父類所有的屬性和方法。
B、子類將繼承父類的非私有屬性和方法。
C、子類只繼承父類public方法和屬性
D、子類只繼承父類的方法,而不繼承屬性
50.覆蓋與重載的關系是 ( A )
A、覆蓋只有發生在父類與子類之間,而重載可以發生在同一個類中
B.覆蓋方法可以不同名,而重載方法必須同名
C.final修飾的方法可以被覆蓋,但不能被重載
D.覆蓋與重載是同一回事
51、下面哪一個import命令可以為我們提供編寫網絡應用程序的類( D )
A、import java.sql.*;
B、import java.util.*;
C、import java.io.*;
D、import java.net.*;
54、如果需要從文件中讀取數據,則可以在程序中創建哪一個類的對象( A )
A、FileInputStream B、FileOutputStream
C、DataOutputStream D、FileWriter
55、下面的程序創建了一個文件輸出流對象,用來向文件test.txt中輸出數據,假設程序當前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運行3次,則文件test.txt 的內容是( D )
import java.io.*; public class Test { public static void main(String args[]) { try { String s="ABCDE"; byte b[]=s.getBytes(); FileOutputStream file=new FileOutputStream("test.txt",true); file.write(b); file.close(); }catch(IOException e) { System.out.println(e.toString()); } } }
A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE
56、編譯Java Application 源程序文件將產生相應的字節碼文件,這些字節碼文件的擴展名為( B )。
A. java B. .class
C. html D. .exe
58、不允許作為類及類成員的訪問控制符的是( C )。
A. public B. private
C. static D. protected
60.關於選擇結構下列哪個說法正確? ( B )
A.if語句和 else語句必須成對出現
B.if語句可以沒有else語句對應
C.switch結構中每個case語句中必須用break語句
D.switch結構中必須有default語句
61.while循環和 do…while循環的區別是: ( D )
A.沒有區別,這兩個結構任何情況下效果一樣
B.while循環比 do…while循環執行效率高
C.while循環是先循環后判斷,所以循環體至少被執行一次
D.do…while循環是先循環后判斷,所以循環體至少被執行一次
64. void的含義: ( A )
A.方法沒有返回值 B. 方法體為空
C.沒有意義 D. 定義方法時必須使用
65. return語句: ( C )
A.只能讓方法返回數值 B.方法都必須含有
C.方法中可以有多句return D.不能用來返回對象
67.下列說法哪個正確?C
A.不需要定義類,就能創建對象
B.對象中必須有屬性和方法
C.屬性可以是簡單變量,也可以是一個對象
D、屬性必須是簡單變量
68.下列說法哪個正確? ( A )
A、一個程序可以包含多個源文件
B、一個源文件中只能有一個類
C、一個源文件中可以有多個公共類
D、一個源文件只能供一個程序使用
69.關於方法main()的說法哪個正確?( C )
A.方法main()只能放在公共類中
B main()的頭定義可以根據情況任意更改
C.一個類中可以沒有main()方法
D.所有對象的創建都必須放在main()方法中
70.構造函數何時被調用? ( A )
A、創建對象時
B、類定義時
C、使用對象的方法時
D、使用對象的屬性時
71. 抽象方法: ( C )
A、可以有方法體
B、可以出現在非抽象類中
C、是沒有方法體的方法
D、抽象類中的方法都是抽象方法
73.關於構造函數的說法哪個正確? ( C )
A、一個類只能有一個構造函數
B、一個類可以有多個不同名的構造函數
C、構造函數與類同名
D、構造函數必須自己定義,不能使用父類的構造函數
74. this和super:( C )
A、都可以用在main()方法中
B、都是指一個內存地址
C、不能用在main()方法中
D、意義相同
75.關於super的說法正確的是:( C )
A、是指當前對象的內存地址
B、是指當前對象的父類對象的內存地址
C、是指當前對象的父類
D、可以用在main()方法中
76.覆蓋與重載的關系是 ( A )
A、覆蓋只有發生在父類與子類之間,而重載可以發生在同一個類中
B.覆蓋方法可以不同名,而重載方法必須同名
C.final修飾的方法可以被覆蓋,但不能被重載
D.覆蓋與重載是同一回事
77.關於接口哪個正確? ( A )
A、實現一個接口必須實現接口的所有方法
B.一個類只能實現一個接口
C.接口間不能有繼承關系
D.接口和抽象類是同一回事
78.異常包含下列哪些內容? ( A )
A.程序執行過程中遇到的事先沒有預料到的情況
B.程序中的語法錯誤
C.程序的編譯錯誤
D.以上都是
79. 對於已經被定義過可能拋出異常的語句,在編程時: ( A )
A、必須使用try/catch語句處理異常,或用throws將其拋出
B.如果程序錯誤,必須使用 try/catch語句處理異常
C.可以置之不理
D.只能使用try/catch語句處理
80. 字符流與字節流的區別在於( D )
A.前者帶有緩沖,后者沒有
B.前者是塊讀寫,后者是字節讀寫
C. 二者沒有區別,可以互換使用
D. 每次讀寫的字節數不同
81.下列流中哪個不屬於字節流 ( D )
A.FileInputStream
B.BufferedInputStream
C. FilterInputStream
D. InputStreamReader
82 .在面向對象的方法中,一個對象請求另一個對象為其服務的方式是通過發送 ( D )
A、調用語句
B、命令
C、口令
D、消息
83 .Java語言具有許多優點和特點,下列選項中,哪個反映了Java程序並行機制的特點:( B )
A、安全性
B、多線程
C、跨平台
D、可移值
85 .Java的字符類型采用的是Unicode編碼方案,每個Unicode碼占用____個比特位。( B )
A、8
B、16
C、32
D、64
86 .關於下列程序段的輸出結果,說法正確的是:( D 基本類型數值數據的默認初始值為0 )
public class MyClass{
static int i;
public static void main(String argv[]){
System.out.println(i);
}
}
A、有錯誤,變量i沒有初始化。
B、null
C、1
D、0
87 .下列代碼的執行結果是:( B )
public class Test3{
public static void main(String args[]){
System.out.print(100%3);
System.out.print(",");
System.out.println(100%3.0);
}
}
A、1,1
B、1,1.0
C、1.0,1
D、1.0,1.0
88 .下列程序段的輸出結果是:( B )
void complicatedExpression(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
A、true
B、false
C、1
D、0
89 .給出下列代碼片段:( D )
if(x>0){System.out.println("first");}
else if(x>-3){ System.out.println("second");}
else {System.out.println("third");}
請問x處於什么范圍時將打印字符串“second”?
A、x>0
B、x>-3
C、x<=-3
D、x<=0 &&x>-3
90 .若要把變量聲名為暫時性變量,應使用如下哪種修飾符?( C )
A、protected
B、provate
C、transient (臨時變量)
D、volatile (共享變量)
91 .在Java中,一個類可同時定義許多同名的方法,這些方法的形式參數的個數、類型
或順序各不相同,傳回的值也可以不相同,這種面向對象程序特性稱為:( C )
A、隱藏
B、覆蓋
C、重載
D、Java不支持此特性
92 .如要拋出異常,應用下列哪種子句?( B )
A、catch
B、throws
C、try
D、finally
93 .在使用interface聲明一個接口時,只可以使用____修飾符修飾該接口。( D )
A、private
B、protected
C、private protected
D、public
94 .下列代碼的輸出結果是 : ( A )
class Parent{
void printMe() {
System.out.println("parent");
}
};
class Child extends Parent {
void printMe() {
System.out.println("child");
}
void printall() {
super.printMe();
this.printMe();
printMe();
}
}
public class Test_this {
public static void main(String args[]) {
Child myC=new Child();
myC.printall();
}
}
A、parent
child
child
B、parent
child
parent
C、parent
child
D、編譯錯誤
95 .為讀取的內容進行處理后再輸出,需要使用下列哪種流? ( B )
A、File stream
B、Pipe stream
C、Random stream
D、Filter stream
96.為實現多線程之間的通信,需要使用下列哪種流才合適?( D )
A、Filter stream
B、File stream
C、Random access stream
D、Piped stream
99 .注釋的基本原則不包括:( D )
A、注釋應該增加代碼的清晰度
B、注釋要簡潔
C、在寫代碼之前寫注釋
D、盡量給每一條語句加注釋