當前位置:學問君>人在職場>IT認證>

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

學問君 人氣:2.71W

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

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

一、 單選題

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

String s = new String("abcdefg");

for (int i=0; i

System.out.print(s.charAt(i));

}

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

2、有整型數組:int[] x={12,35,8,7,2};,則調用方法Arrays.sort(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檔案夾下的檔案1.txt。File構造函數中正確的路徑和檔案名的表示是( )。

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

file =new FileReader(f);

in=new BufferedReader(file);

A) "./1.txt" B) "../my/1.txt" C) "c:my1.txt" D) "c: my1.txt"

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

String s1=new String("abc");

String s2=new String("abc");

boolean b1=s1.equals(s2);

boolean b2=(s1==s2);

System.out.print(b1+" "+b2);

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

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

Hashtable hashtable=new Hashtable();

hashtable.put("x","12345");

hashtable.put("y","67890");

hashtable.put("a","abcde");

System.out.println(hashtable.get("a"));

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

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

RandomAccessFile raf2 = newRandomAccessFile("1.txt","rw" );

A)開啟當前目錄下的檔案1.txt,既可以向檔案寫數據,也可以從檔案讀數據。

B)開啟當前目錄下的檔案1.txt,但只能向檔案寫入數據,不能從檔案讀取數據。

C)開啟當前目錄下的檔案1.txt,但不能向檔案寫入數據,只能從檔案讀取數據。

D) 以上說法都不對。

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

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

int n=s.indexOf("#");

int k=s.indexOf("#",n+1);

int m=s.indexOf("#",k+1);

String s2=s.substring(m+1);

System.out.println(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、應用程序Test.java的源程序如下,在命令行鍵入:

java Test aaa bb c

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

public class Test {

publicstatic void main(String args[]) {

int k1=args.length;

int k2=args[1].length();

System.out.print(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];

}

}

System.out.println("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];

}

System.out.println(max);

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

12、程序Test.java編譯執行後輸出的結果是( )。

public class Test {

Strings1="java";

publicstatic void main(String args[]) {

intz=2;

Testt=new Test();

System.out.println(t.s1+z);

}

}

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

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

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

double x=Double.parseDouble(s1);

int y=Integer.parseInt(s2);

System.out.println(x+y);

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

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

import java.io.*;

public class Test {

publicstatic void main(String args[]) {

try{

Strings="ABCDE";

byteb[]=s.getBytes();

FileOutputStreamfile=new FileOutputStream("test.txt",true);

file.write(b);

file.close();

}

catch(IOExceptione) {

System.out.println(e.toString());

}

}

}

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 java.awt.*;

import javax.swing.*;

public class T extends JFrame {

public T ( ) {

super("GridLayout");

Container con=this.getContentPane();

con.setLayout(new GridLayout(2,3));

con.add(new JButton("a"));

con.add(new JButton("b"));

con.add(new JButton("c"));

con.add(new JButton("d"));

con.add(new JButton("e"));

con.add(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 java.util.*;

publicclass T {

public static void main(Stringargs[]) {

Set set = new TreeSet();

set.add(new Integer(10));

set.add(new Integer(5));

set.add(new Integer(15));

set.add(new Integer(5));

set.add(new Integer(10));

System.out.println("size =" + set.size());

Iterator it=set.iterator();

while(it.hasNext()){

System.out.print(it.next()+" ");

}

}

}

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

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

答案:

u

size = 3

5 10 15

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

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

import java.io.*;

public class Test {

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

BufferedReader buf=new BufferedReader(

newInputStreamReader(System.in));

while(true) {

String str=buf.readLine();

if(str.equals("quit"))

break;

int x=Integer.parseInt(str);

System.out.println(x*x);

}

}

}

編譯執行上面的程序:

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

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

答案:

u25

v終止應用程序的執行。