《JAVA程序設計》期末考試試題

Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。下面為大家整理的是java語言的期末考試題,希望能幫助到大家!

《JAVA程序設計》期末考試試題

  一、 單選題

1、下列程序段執行後的結果是( )。

String s = new String("abcdefg");

for (int i=0; i

t(At(i));

}

A) aceg B) ACEG C) abcdefg D) abcd

2、有整型數組:int[] x={12,35,8,7,2};,則調用方法(x)後,數組x中的元素值依次是( ).

A) 2 7 8 12 35 B) 12 35 8 7 2

C) 35 12 8 7 2 D) 8 7 12 35 2

3、下面的程序段創建了BufferedReader類的對象in,以便讀取本機c盤my文件夾下的文件。File構造函數中正確的路徑和文件名的表示是( )。

File f = new File(填代碼處);

file =new FileReader(f);

in=new BufferedReader(file);

A) "./" B) "../my/" C) "c:my" D) "c: my"

4、應用程序的main方法中有以下語句,則輸出的結果是 ( )。

String s1=new String("abc");

String s2=new String("abc");

boolean b1=ls(s2);

boolean b2=(s1==s2);

t(b1+" "+b2);

A)true false B) false true C) true true D)false false

5、應用程序的main方法中有以下語句,則輸出的結果是 ( )。

Hashtable hashtable=new Hashtable();

("x","12345");

("y","67890");

("a","abcde");

tln(("a"));

A) a B) abcde C) 12345 D) 67890

6、下面語句的功能是( )。

RandomAccessFile raf2 = newRandomAccessFile("","rw" );

A)打開當前目錄下的文件,既可以向文件寫數據,也可以從文件讀數據。

B)打開當前目錄下的文件,但只能向文件寫入數據,不能從文件讀取數據。

C)打開當前目錄下的文件,但不能向文件寫入數據,只能從文件讀取數據。

D) 以上説法都不對。

7、應用程序的main方法中有以下語句,則輸出的結果是 ( )。

String s="12345#aaa#bbb#67890";

int n=xOf("#");

int k=xOf("#",n+1);

int m=xOf("#",k+1);

String s2=tring(m+1);

tln(s2);

A) 123456 B) 67890 C) aaa D) bbb

8、下面程序段執行後b的值是( )。

Integerinteg =new Integer(9);

boolean b = integ instanceof Object;

A) 9 B) true C) 1 D) false

9、應用程序的源程序如下,在命令行鍵入:

java Test aaa bb c

回車後輸出的結果是 ( )。

public class Test {

publicstatic void main(String args[]) {

int k1=th;

int k2=args[1]th();

t(k1+" "+k2);

}

}

A) 3 2 B)1 2 C) 1 3 D)3 3

10、應用程序的main方法中有以下語句,則輸出的結果是 ( )。

int b[][]={{1}, {2,2}, {2,2,2}};

int sum=0;

for(int i=0;i

for(int j=0;j

sum*=b[i][j];

}

}

tln("sum="+sum);

A) 32 B)11 C) 2 D) 3

11、應用程序的main方法中有以下語句,則執行後輸出的結果是 ( )。

int[] x={125,21,5,168,98};

int max=x[0];

for(int i=1;i

if(x[i]>max)

max=x[i];

}

tln(max);

A) 125 B) 5 C) 98 D) 168

12、程序編譯運行後輸出的結果是( )。

public class Test {

Strings1="java";

publicstatic void main(String args[]) {

intz=2;

Testt=new Test();

tln(t.s1+z);

}

}

A) java2 B)2 C)沒有輸出結果 D)java

13、應用程序的main方法中有以下語句,則輸出的結果是 ( )。

Strings1="0.5", s2="12";

double x=eDouble(s1);

int y=eInt(s2);

tln(x+y);

A) 12.5 B) 120.5 C)12 D) “12.5”

14、下面的程序創建了一個文件輸出流對象,用來向文件中輸出數據,假設程序當前目錄下不存在文件,編譯下面的程序後,將該程序運行3次,則文件 的內容是( )。

import .*;

public class Test {

publicstatic void main(String args[]) {

try{

Strings="ABCDE";

byteb[]=ytes();

FileOutputStreamfile=new FileOutputStream("",true);

e(b);

e();

}

catch(IOExceptione) {

tln(ring());

}

}

}

A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE

15、下面那些方法不是接口Collection中已聲明的方法( )?

A)添加元素的add(Object obj) 方法

B)刪除元素的remove(Objectobj)方法

C)得到元素個數的length()方法

D)返回迭代器的iterator()方法,迭代器用於元素遍歷

  二、多選題

1、下面main()方法的定義哪些是正確的( )?

A) publicstatic void main(String args[]) {} B) publicstatic void main(String[]) {}

C) publicstatic void main(String[] args) {} D)publicstatic void main(String [] x) {}

2、線程對象的生命週期中,通常經歷下面哪些狀態( )。

A)新建 B)運行 C)就緒 D)死亡

3、下面説法正確的是( )。

A) final 可修飾類、屬性(變量)、方法。

B) abstract可修飾類、方法。

C) 抽象方法只有方法頭,沒有方法體。

D) 關鍵字final和abstract不能同時使用。

4、下面關於java中輸入/輸出流的説法正確的是( )。

A) FileInputStream與FileOutputStream類用讀、寫字節流。

B) Reader與Writer類用來讀、寫字符流。

C) RandomAccessFile既可以用來讀文件,也可以用來寫文件。

D) File類用來處理與文件相關的操作。

5、下面説法正確的是( )。

A)如果某公共接口被聲明在一個源文件中,則接口必須與源文件具有相同名字。

B)如果源文件包含import語句,則該語句必須是除空行和註釋行外的第一個語句行。

C)如果某源文件包含package語句,則該語句必須是第一個非空、非註釋行。

D)接口中的方法必定是抽象方法,但可以不用關鍵字abstract修飾。

6、下面關於Java中異常處理try塊的`説法正確的是( )?

A) try塊後通常應有一個catch 塊,用來處理try塊中拋出的異常。

B) catch 塊後必須有finally塊。

C)可能拋出異常的方法調用應放在try塊中。

D)對拋出的異常的處理必須放在try塊中

7、下面關於進程、線程的説法正確的是( )。

A)進程是程序的一次動態執行過程。一個進程在其執行過程中,可以產生多個線程——多線程,形成多條執行線索。

B)線程是比進程更小的執行單位,是在一個進程中獨立的控制流,即程序內部的控制流。線程本身不能自動運行,棲身於某個進程之中,由進程啟動執行。

C)Java多線程的運行與平台相關。

D)對於單處理器系統,多個線程分時間片獲取CPU或其他系統資源來運行。對於多處理器系統,線程可以分配到多個處理器中,從而真正的併發執行多任務。

8、關於BufferedReader類的readLine()方法,以下説法正確的是()。

A)方法readLine()每次讀取一行數據。

B)方法readLine()每次讀取一個字節。

C)該方法可能拋出IOException異常,調用該方法時通常應將它放到try塊中,並通過catch塊處理異常。

D)如果讀到流的末尾,該方法返回的結果為null。

  三、程序閲讀題

1、閲讀下面的程序,回答問題(u問3分,v問3分,共6分)。

import .*;

import g.*;

public class T extends JFrame {

public T ( ) {

super("GridLayout");

Container con=ontentPane();

ayout(new GridLayout(2,3));

(new JButton("a"));

(new JButton("b"));

(new JButton("c"));

(new JButton("d"));

(new JButton("e"));

(new JButton("f"));

setSize(200, 80);

setVisible(true);

}

public static void main(String args[]) {

new T();

}

}

u畫圖表示程序運行後的圖形界面。

v如果程序通過實現某個接口處理按鈕的動作事件,則該接口名為何?接口中的方法頭聲明如何?

答案:

u

v接口名:ActionListener

接口中的方法:publicvoid actionPerformed(ActionEvent e)

2、閲讀下面的程序,回答問題(u問3分,v問3分,共6分)。。

import .*;

publicclass T {

public static void main(Stringargs[]) {

Set set = new TreeSet();

(new Integer(10));

(new Integer(5));

(new Integer(15));

(new Integer(5));

(new Integer(10));

tln("size =" + ());

Iterator it=ator();

while(ext()){

t(()+" ");

}

}

}

u程序運行後輸出的結果如何?

v説明java中的集合(Set接口)和映射(Map接口)的主要區別。

答案:

u

size = 3

5 10 15

vSet接口是不包含重複元素的集合;Map接口將鍵映射到值,鍵可以重複,但每個鍵最多隻能映射一個值。

3、閲讀下面的程序,並回答問題(u問3分,v問3分,共6分)。

import .*;

public class Test {

public static void main(String args[]) throws IOException {

BufferedReader buf=new BufferedReader(

newInputStreamReader());

while(true) {

String str=Line();

if(ls("quit"))

break;

int x=eInt(str);

tln(x*x);

}

}

}

編譯運行上面的程序:

u從鍵盤輸入5,回車後輸出的結果如何?

v從鍵盤輸入quit,回車後程序執行情況如何?

答案:

u25

v終止應用程序的運行。