一.判斷題(每題2分,共16分)
1. Java的字元型別採用的是Unicode編碼,但所佔位元組由具體軟硬體環境決定。 ( )
的原始碼中定義幾個類,編譯結果就生成幾個以s為字尾的位元組碼檔案。( )
程式裡,建立新的類物件用關鍵字new,回收無用的類物件使用關鍵字free。 ( )
有垃圾回收機制,記憶體回收程式可在指定的時間釋放記憶體對
象。 ( )
5.建構函式用於建立類的例項物件,建構函式名應與類名相同,返回型別為void。 ( )
6.在異常處理中,若try中的程式碼可能產生多種異常則可以對應多個catch語句,若catch中的引數型別有父類子類關係,此時應該將父類放在後面,子類放在前面。 ( )
7.擁有abstract方法的類是抽象類,但抽象類中可以沒有abstract方法。 ( )
8.在Java中物件可以賦值,只要使用賦值號(等號)即可,相當於生成了一個各屬性與賦值物件相同的新物件。 ( )
二.單項選擇題(每題3分,共42分)
application中的主類需包含main方法,以下哪項是main方法的正確形參?( )
A、 String args B、String ar[] C、Char arg D、StringBuffer args[]
2.以下關於繼承的敘述正確的是( )。
A、在Java中類只允許單一繼承
B、在Java中一個類只能實現一個介面
C、在Java中一個類不能同時繼承一個類和實現一個介面
D、在Java中介面只允許單一繼承
3.以下哪個不是Java的原始資料型別( )
A、int B、Boolean C、float D、char
4.若需要定義一個類域或類方法,應使用哪種修飾符?( )
A、static B、package C、private D、public
5.給出下面程式碼,關於該程式以下哪個說法是正確的?( )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
tln(arr[0]); }
}
A、編譯時將產生錯誤 B、編譯時正確,執行時將產生錯誤
C、輸出零 D、輸出空
6.下列哪些語句關於Java記憶體回收的說明是正確的? ( )
A、程式設計師必須建立一個執行緒來釋放記憶體
B、記憶體回收程式負責釋放無用記憶體
C、記憶體回收程式允許程式設計師直接釋放記憶體
D、記憶體回收程式可以在指定的時間釋放記憶體物件
7.以下程式碼段執行後的輸出結果為( )
int x=-3; int y=-10;
tln(y%x);
A、 -1 B、2 C、1 D、3
8.有以下程式片段,下列哪個選項不能插入到行1。( )
1.
ic class Interesting{
3.//do sth
4. }
A、import .*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
9. 設有下面兩個賦值語句:
a = eInt(“12”);
b = eOf(“12”)alue();
下述說法正確的是( )。
A、a是整數型別變數,b是整數類物件。B、a是整數類物件,b是整數型別變數。
C、a和b都是整數類物件並且值相等。 D、a和b都是整數型別變數並且值相等。
10.類Parent、Child定義如下:
ic class Parent{
2. public float aFun(float a, float b) throws IOException {
3. }
4.}
ic class Child extends Parent{
6. //insert here
7.}
將以下哪種方法插入行6是不合法的。( )
A、float aFun(float a, float b){ }
B、public int aFun(int a, int b)throws Exception{ }
C、public float aFun(float p, float q){ }
D、public int aFun(int a, int b)throws IOException{ }
11.在使用interface宣告一個介面時,只可以使用( )修飾符修飾該介面。
A、private B、protected C、private protected D、public
12、有以下方法的'定義,請選擇該方法的返回型別( )。 method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
13、關於以下程式碼段的說法正確的是( )
ng s="abcde";
ngBuffer s1=new StringBuffer("abcde");
(ls(s1))
4. s1=null;
(ls(s))
6. s=null;
A、第1行編譯錯誤,String的構造器必須明確呼叫
B、第3行編譯錯誤,因為s與s1有不同的型別
C、編譯成功,但執行時在第5行有異常丟擲
D、編譯成功,過程中也沒有異常丟擲
14、編譯並執行以下程式,以下描述哪個選項是正確的(
1. class X{
2. protected String toString(){
3. return ring();
4. }
5.}
A、編譯通過執行無異常 B、編譯通過但執行時出錯
C、行2出錯,不能成功編譯 D、不能成功編譯,行3出錯