《JAVA程序設計》期末考試試題(精選3套)
在日復一日的學習、工作生活中,我們會經常接觸并使用考試題,考試題可以幫助學;蚋髦鬓k方考察參試者某一方面的知識才能。大家知道什么樣的考試題才是規(guī)范的嗎?下面是小編整理的《JAVA程序設計》期末考試試題,歡迎閱讀與收藏。
《JAVA程序設計》期末考試試題 1
一、 單選題
1、下列程序段執(zhí)行后的結果是( )。
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、下面的程序段創(chuàng)建了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:\\my\\1.txt" D) "c:\ my\1.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、下面程序段執(zhí)行后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方法中有以下語句,則執(zhí)行后輸出的結果是 ( )。
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、下面的程序創(chuàng)建了一個文件輸出流對象,用來向文件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、線程對象的生命周期中,通常經歷下面哪些狀態(tài)( )。
A)新建 B)運行 C)就緒 D)死亡
3、下面說法正確的是( )。
A) final 可修飾類、屬性(變量)、方法。
B) abstract可修飾類、方法。
C) 抽象方法只有方法頭,沒有方法體。
D) 關鍵字final和abstract不能同時使用。
4、下面關于java中輸入/輸出流的說法正確的是( )。
A) FileInputStream與FileOutputStream類用讀、寫字節(jié)流。
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)進程是程序的一次動態(tài)執(zhí)行過程。一個進程在其執(zhí)行過程中,可以產生多個線程——多線程,形成多條執(zhí)行線索。
B)線程是比進程更小的執(zhí)行單位,是在一個進程中獨立的控制流,即程序內部的控制流。線程本身不能自動運行,棲身于某個進程之中,由進程啟動執(zhí)行。
C)Java多線程的運行與平臺相關。
D)對于單處理器系統,多個線程分時間片獲取CPU或其他系統資源來運行。對于多處理器系統,線程可以分配到多個處理器中,從而真正的并發(fā)執(zhí)行多任務。
8、關于BufferedReader類的readLine()方法,以下說法正確的是()。
A)方法readLine()每次讀取一行數據。
B)方法readLine()每次讀取一個字節(jié)。
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接口)的主要區(qū)別。
答案:
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,回車后程序執(zhí)行情況如何?
答案:
u25
v終止應用程序的運行。
《JAVA程序設計》期末考試試題 2
1). applet的運行過程要經歷4個步驟,其中哪個不是運行步驟?
A.瀏覽器加載指定URL中的HTML文件
B.瀏覽器顯示HTML文件
C.瀏覽器加載HTML文件中指定的applet類
D.瀏覽器中的Java運行環(huán)境運行該applet
正確答案:B
2). 二維數組A[O,…,8][0,…,9],其每個元素占2字節(jié)。從首地址400開始,按行優(yōu)先順序存儲,則元素A[8][5]的存儲地址為( )。
A.570
B.506
C.410
D.482
正確答案:A
答案解析:A[8][5]元素存儲的位置在第9行第6列,所以A[8][5]之前存儲的個數應為8×10+5 = 85,這些元素占用的空間為85×2字節(jié)=170字節(jié),所以A[8][5]的存儲位置為400+170= 570。
3). 用于生產過程控制的系統,一般都是( ),它要求有對輸入數據及時做出響應的.能力。
A.批處理系統
B.分時系統
C.實時系統
D.及時系統
正確答案:C
答案解析:用于生產過程控制的系統,一般都是實時系統,它要求有對輸入數據及時做出反應(響應)的能力。由于環(huán)境和控制對象以及工作任務的不同,控制系統對計算機系統的要求也會不同,一般會對計算機系統的可靠性、封閉性、抗干擾性等指標提出要求。
4). Java語言的許多特點中,下列哪個特點是C++語言所不具備的?
A.高性能
B.跨平臺
C.面向對象
D.有類庫
正確答案:B
5). 在匹配器(Matcher)類中,用于尋找下一個模式匹配串的方法是( )。
A.static boolean matches()
B.boolean matcher .fi nd()
C.i nt matcher .start()
D.i nt matcher .end()
正確答案:A
答案解析:本題考查考生對Java 中的匹配器(Matcher)類的理解。Matcher 類用于將一個輸入字符串i nput 和模式串pattern 相比較。Boolean matcher .fi nd()方法用于尋找下一個模式匹配串;i nt matcher .start()方法用于返回匹配串的一個起始索引整數值;i nt matcher .end()方法用于返回匹配串的一個終止索引整數值。而用于輸入字符串與模式串比較的方法是static boolean matches(),選項A 正確。
6). J2EE和( )語言綁定。
A.C
B.C++
C.Java
D.匯編語言
正確答案:C
答案解析:J2EE的基礎是J2SE,以Java為平臺;而C語言用于ODBCAPI。由于兩者不兼容,SUN公司才提出了JDBC作為Java幾個平臺與麴據庫的標準連接。
7). 下列關于結構化設計原則的描述,錯誤的是
A.在塊和進程的非正常出口處往往需要調用GOTO語句,使用GOTO語句使程序執(zhí)行效率提高,但是濫用GOTO語句確實有害,應該避免使用GOTO語句。
B.程序設計時應該自頂向下,逐步求精。
C.程序設計時,應該將復雜問題進行模塊化,就是將程序設計的總目標分解為若干個分目標,再進一步分解為具體的小目標。
D.在進行程序設計時,應該盡量在一行書寫一條語句,盡量做到效率第一,清晰第二。
正確答案:D
8). 如果線程調用下列方法,不能保證使該線程停止運行的是( )。
A.sleep()
B.stop()
C.yield()
D.wait()
正確答案:C
答案解析:線程的方法中sleep()方法的作用是使比當前線程優(yōu)先級低的線程運行。該方法使一個線程暫停運行一段固定時間。在休眠時間內,線程將不運行,低優(yōu)先級的線程將有機會運行。yield()方法為只讓給同等優(yōu)先級的線程運行。如果沒有同等優(yōu)先級的線程是可運行狀態(tài),yield()方法將什么也不做,即線程將繼續(xù)運行。stop()方法是強行終止線程。wait()方法是線程間交互的方法,是使一個線程停止運行,進入等待狀態(tài)。
9). 開發(fā)軟件時對提高開發(fā)人員工作效率至關重要的是( )。
A.操作系統的資源管理功能
B.先進的軟件開發(fā)工具和環(huán)境
C.程序員的數量
D.計算機的并行處理能力
正確答案:B
答案解析:先進的軟件開發(fā)工具和環(huán)境對提高開發(fā)人員工作效率是至關重要的。
10). 信息隱蔽的概念與下述哪一種概念直接相關( )。
A.軟件結構定義
B.模塊獨立性
C.模塊類型劃分
D.模擬耦合度
正確答案:B
答案解析:信息隱蔽的概念與模塊獨立性這一概念直接相關。
《JAVA程序設計》期末考試試題 3
選擇題
1). 下面( )是合法的標識符。
A.$persons
B.2Users
C.*poi nt
D.this
正確答案:A
答案解析:本題考查Java 標識符的命名,屬于考試重點內容,應該掌握。Java 中標識符的命名規(guī)則是:標識符以字母、下畫線或美元符作為首字符的字符串序列;標識符是區(qū)分大小寫的;標識符的字符數沒有限制。由此可見,Java 中標識符不能以數字開頭,所以選項B錯誤;不能以“*”開頭,選項C錯誤;this 是專用標識符,具有專門的意義和用途,選項D 錯誤,只有選項A 正確。
2). 設有一個已按各元素的值排好序的順序表(長度大于2),現分別用順序查找法和二分查找法查找與給定值k相等的元素,比較的次數分別是s和b,在查找不成功情況下s和b的關系是( )。
A.s =b
B.s>b
C.s
D.s>=b
正確答案:B
答案解析:順序查找的基本思想是:從表的一端開始,順序掃描線性表,依次將掃描到結點的關鍵字和給定值k進行比較,若當前掃描到結點的關鍵字與k相等,則查找成功;若掃描結束后,仍未找到關鍵字等于k的結點,則查找失敗。二分查找法是一種效率較高的查找方法,要求線性表是有序表;舅枷胧牵菏紫葘⒋榈膋值和有序表R[O]~R[n -1]的中間位置mid上的結點的關鍵字進行比較,若相等,則查找完成;否則,若R[mi d]. key>k,則說明待查找的結點只可能在左子表R[O]~R[mi d -1]中,我們只需在左子表中繼續(xù)進行折半查找,若R[mi d]. key
3). 定義一個表示10個值為null的字符串數組,下面選項正確的是( )。
A.String []a;
B.String a[];
C.char a[10][];
D.String a[]=new String[10];
正確答案:D
答案解析:本題考查字符串數組變量的聲明。選項A和選項B的效果是一樣的,都是用來定義一個字符串數組,但沒有指明數組個數,不滿足題目要求;選項C是一個二維的字符數組,在C語言中,一個二維的字符數組就可以表示一個一維的字符串數組,而在Java中,字符char是基本類型,字符串String則是以對象的形式來表示的;選項D正確,它定義了一個含有10個元素的字符串數組,如果沒有給字符串數組賦值,則默認為null。
4). Thread類中能運行線程的方法是( )。
A.resume()
B.start()
C.run()
D.init()
正確答案:C
答案解析:resume()是Thread類提供的用于線程控制的方法;start()是Thread類中的.方法,新建的線程不會自動運行,必須調用線程的start()方法才能運行該線程;run()是Thread類中的方法,在該方法中定義了線程的具體行為,線程開始執(zhí)行時,就是從它的run()方法開始執(zhí)行的,就像Java應用程序從main()開始、Applet從init()開始一樣;init()不是Thread類中的方法。
5). 在面向對象的方法中,一個對象請求另一個對象為其服務的方式是通過發(fā)送
A.調用語句
B.命令
C.口令
D.消息
正確答案:D
6). 下列的( )原始類型在使用流時可以互換。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
正確答案:B
答案解析:本題考查Java語言中字節(jié)類型的概念。在Java語言中,byte是字節(jié)類型,用1字節(jié)表示.boolean是布爾類型,用true和false表示,它們的表示方法并不一樣,也不提供它們之間的轉換,選項A錯誤。Java內部用整數來表示char,通?梢栽诜椒ㄕ{用和其他語句中互換使用char和int,選項B正確。char用2字節(jié)表示,byte字節(jié)類型用l字節(jié)表示,Java內部也不允許互換使用它們,選項C錯誤。String在Java語言中是一個類,它提供對字符串的一系列操作,而char是Java語言中的一個基本類型,它不是一個類,兩者有本質的區(qū)別,故而它們是不能互換使用的,選項D錯誤。需要注意的是,在Java語言中提供的類都是以大寫字母開頭,基本類型都用小寫字母表示。
7). 下列說法中,不屬于數據模型所描述的內容是( )。
A.數據結構
B.數據操作
C.數據查詢
D.數據約束
正確答案:C
答案解析:數據模型所描述的內容包括三個部分
【《JAVA程序設計》期末考試試題】相關文章:
sun認證:java程序設計考試試題07-10
2017年java期末考試試題09-18
2016年java期末考試試題及答案10-08
計算機二級Java語言程序設計試題07-17
java試題及答案10-10
2017java期末考試參考試題07-29
計算機二級Java語言程序設計考試試題09-06