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、可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類
-
下面哪一個是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 -
以下關於異常捕獲的原則中,錯誤的是(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、編譯正確,但運行時錯誤 -
下列類的定義,錯誤的是( 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( );
-
已知類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; -
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 -
下面哪個單詞是Java語言的關鍵字(B)
A.Float B.this C.string D.unsigned -
switch語句(A)
A.都可以用if-else if結構實現 B.都不可以用if-else if結構實現
C.有的可以用if-else if結構實現 D.大部分不可以用if-else if結構實現 -
在異常處理中,如釋放資源、關閉文件等善後操作由(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
- 下面是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 - A派生出子類B,B派生出子類C,並且在Java源代碼中有如下聲明:
- A a0=new A();
- A a1 =new B();
- A a2=new C();
問以下哪個說法是正確的? ( D )
A、只有第1行能通過編譯
B、第1、2行能通過編譯,但第3行編譯出錯
C、第1、2、3行能通過編譯,但第2、3行運行時出錯
D、第1行、第2行和第3行的聲明都是正確的 - 下面哪個修飾符修飾的方法只能被本類中的其他方法使用(C)
A. protected B. static C. private D.public - 下面哪條語句定義了5個元素的數組(A)
A. int[]a={22,23,24,25,12}; B. int a []=new int(5); C. int[5] array; D. int[] arr; - 下面哪項可以得到數組元素的個數,Java中定義數組名爲abc。( B )
A. abc.length() B. abc.length C. len(abc) D.ubound(abc) - 下面哪個修飾符修飾的變量是所有同一個類生成的對象共享的(C)
A. public B. private C.static D.final - 下面關於構造方法的說法不正確的是(B)
A、構造方法也屬於類的方法,用於創建對象的時候給成員變量賦值。
B、構造方法不可以重載。 C、構造方法沒有返回值
D、構造方法一定要和類名相同 - 如果希望所有的控件在界面上網格排列,應使用下列那種佈局管理器?(B)
A. BoxLayout B. GridLayout C.BorderLayout D.FlowLouLayout
73.Java語言具有許多優點和特點,下列選項中,哪個反映了Java程序並行機制(B)
A、 安全性 B、多線程 C、跨平臺 D、可移植
74.函數重載是指(A)
A兩個或兩個以上的函數取相同的函數名,但形參的個數或類型不同
B兩個以上的函數取相同的名字和具有相同的形參個數和類型
C兩個以上的函數名字不同,但形參的個數或類型相同
D兩個以上的函數取相同的函數名,並且函數的返回類型相同 - 下列敘述那個是正確的?( 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.嵌套異常 - Java提供的類InetAddress來進行有關Internet地址的操作.( D )
A. Socket B.ServerSocket C. DatagramSocket D InetAddress - InetAddress類中哪個方法可實現正向名稱解析?( B )
A. isReachable() B. getHostAddress() C. getHosstName() D.getByName() - 爲了獲取遠程主機的文件內容,當創建URL對象後,需要使用哪個方法獲取信息(C)
A.getPort() B.getHost C.openStream() D.openConnection() - java程序中,使用TCP套接字編寫服務端程序的套接字類是(A )
A. ServerSocket B. Socket C. DatagramSocket D.DatagramPacket - 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 - 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() - 使用UDP套接字通信時,常用哪個類把要發送的信息打包? ( D )
A. String B. DatagramSocket C. MulticastSocket D.DatagramPacket - java程序中,使用TCP套接字編寫服務端程序的套接字類是(B)
A. Socket B. ServerSocket C. DatagramSocket D.DatagramPacket - 使用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() - 要使用java程序訪問數據庫,則必須首先與數據庫建立連接,該語句爲( B )
A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
B. DriverManage.getConnection(“”,””,””)
C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()
D. Statement st= DriverManage.getConnection(“”,””,””).createStaement() - 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)終止狀態 - 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
- ServerSocket的監聽方法accept()的返回值類型是( C ) 。
A、DatagramPacket B、Object
C、Socket D、DatagramSocket