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終止應用程序的運行。