2016年《JAVA程序設(shè)計(jì)》期末考試試題
與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開(kāi)放的技術(shù)。Java 編程語(yǔ)言是個(gè)簡(jiǎn)單、面向?qū)ο、分布式、解釋性、健壯、安全與系統(tǒng)無(wú)關(guān)、可移植、高性能、多線(xiàn)程和靜態(tài)的語(yǔ)言。下面一起來(lái)看看《JAVA程序設(shè)計(jì)》期末考試試題及答案,希望對(duì)同學(xué)們的復(fù)習(xí)有所幫助!
一、 單選題
1、當(dāng)某一線(xiàn)程正處于休眠狀態(tài),而另一個(gè)線(xiàn)程用 Thread 類(lèi)中的interrupt() 方法中斷它時(shí),拋出的異常類(lèi)型是( )。
A) IOException B) RuntimeException
C) InterruptedException D)ClassNotFoundException
2、下面的程序段的功能是( )。
File file1=new File("d:\\xxx\\yyy\\zzz");
file1.mkdirs();
A)在當(dāng)前目錄下生成子目錄:\xxx\yyy\zzz B)生成目錄:e:\xxx\yyy\zzz
C)在當(dāng)前目錄下生成文件xxx.yyy.zzz D)以上說(shuō)法都不對(duì)
3、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 ( )。
Strings = "xxxxxxxxxxxxxxx#123#456#zzzzz";
intn = s.indexOf("#");
int k = s.indexOf("#", n+1);
Strings2 = s.substring(n+1, k);
System.out.println(s2);
A) 123456 B) 123 C)xxxxxxxxxxxxxxx D) zzzzz
4、關(guān)于下面的程序Test.java說(shuō)法正確的是( )。
public class Test {
Stringx="1";
int y;
publicstatic void main(String args[]) {
intz=2;
System.out.println(x+y+z);
}
}
A)3 B)102 C)12 D)程序有編譯錯(cuò)誤
5、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 ( )。
int b[][]={{1, 1, 1}, {2,2}, {3}};
int sum=0;
for(int i=0; i
for(int j=0; j
sum+=b[i][j];
}
}
System.out.println("sum="+sum);
A) 10 B)6 C) 9 D) 13
6、應(yīng)用程序的main方法中有以下語(yǔ)句,則執(zhí)行后輸出的結(jié)果是 ( )。
int[] x = {125,21,5,168,98};
int min = x[0];
for (int i=1; i
if(x[i]
min =x[i];
}
System.out.println(min);
A) 125 B) 5 C) 98 D) 168
7、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是 ( )。
Hashtable hashtable=new Hashtable();
hashtable.put("100","aaa");
hashtable.put("200","bbb");
hashtable.put("300","ccc");
System.out.println(hashtable.get("300").toString()
+hashtable.get("200").toString()
+ hashtable.get("100").toString());
A)aaa B) bbb C) ccc D) cccbbbaaa
8、以下關(guān)于java異常說(shuō)法不正確的是( )。
A) Throwable 類(lèi)是 Java 語(yǔ)言中Error類(lèi)和Exception類(lèi)的父類(lèi)。
B)當(dāng)異常對(duì)象是Exception類(lèi)(或其子類(lèi))的實(shí)例時(shí),能通過(guò) Java 虛擬機(jī)或者 throw語(yǔ)句拋出該異常對(duì)象,并能通過(guò)try…catch…finally處理。
C)如果只用一個(gè)catch塊捕捉多個(gè)異常對(duì)象,則catch 子句中的參數(shù)類(lèi)型應(yīng)是所有異常對(duì)象的父類(lèi)。
D)以上說(shuō)法都不對(duì)。
9、下面的程序創(chuàng)建了一個(gè)文件輸出流對(duì)象,用來(lái)向文件test.txt中輸出數(shù)據(jù),假設(shè)程序當(dāng)前目錄下不存在文件test.txt,編譯下面的程序Test.java后,將該程序運(yùn)行3次,則文件test.txt 的內(nèi)容是( )。
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
10、下面說(shuō)法不正確的是( )?
A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。
B)List接口是可以包含重復(fù)元素的有序集合。
C)Set接口是不包含重復(fù)元素的集合。
D)Map接口將鍵映射到值,鍵可以重復(fù),但每個(gè)鍵最多只能映射一個(gè)值。
二、多選題
1、下面哪些關(guān)鍵字能用來(lái)控制對(duì)類(lèi)成員的訪(fǎng)問(wèn)( )?
A) public B) protected C) private D) default
2、下面關(guān)于Java中異常處理try塊的說(shuō)法正確的是( )?
A) try塊后通常應(yīng)有一個(gè)catch 塊,用來(lái)處理try塊中拋出的異常。
B) catch 塊后必須有finally塊。
C)可能拋出異常的方法調(diào)用應(yīng)放在try塊中。
D)對(duì)拋出的異常的處理必須放在try塊中
3、線(xiàn)程對(duì)象的生命周期中,通常經(jīng)歷下面哪些狀態(tài)( )。
A)新建 B)運(yùn)行 C)就緒 D)死亡
4、定義如下的二維數(shù)組b,下面的說(shuō)法正確的是( )。
int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};
A)b.length的值是3。 B)b[1].length的值是3。
C)b[1][1]的值是5。 D) 二維數(shù)組b的第一行有3個(gè)元素
5、類(lèi)B是一個(gè)抽象類(lèi),類(lèi)C是類(lèi)B的非抽象子類(lèi),下列創(chuàng)建對(duì)象x1的語(yǔ)句中正確的是( )。
A) B x1= new B( ); B) B x1= newC( );
C) C x1=new C(); D) C x1= new B( );
6、下面關(guān)于進(jìn)程、線(xiàn)程的說(shuō)法正確的'是( )。
A)進(jìn)程是程序的一次動(dòng)態(tài)執(zhí)行過(guò)程。一個(gè)進(jìn)程在其執(zhí)行過(guò)程中,可以產(chǎn)生多個(gè)線(xiàn)程——多線(xiàn)程,形成多條執(zhí)行線(xiàn)索。
B)線(xiàn)程是比進(jìn)程更小的執(zhí)行單位,是在一個(gè)進(jìn)程中獨(dú)立的控制流,即程序內(nèi)部的控制流。線(xiàn)程本身不能自動(dòng)運(yùn)行,棲身于某個(gè)進(jìn)程之中,由進(jìn)程啟動(dòng)執(zhí)行。
C)Java多線(xiàn)程的運(yùn)行與平臺(tái)相關(guān)。
D)對(duì)于單處理器系統(tǒng),多個(gè)線(xiàn)程分時(shí)間片獲取CPU或其他系統(tǒng)資源來(lái)運(yùn)行。對(duì)于多處理器系統(tǒng),線(xiàn)程可以分配到多個(gè)處理器中,從而真正的并發(fā)執(zhí)行多任務(wù)。
7、下面關(guān)于外部類(lèi)和內(nèi)部類(lèi)成員的相互訪(fǎng)問(wèn)的規(guī)則中,正確的選項(xiàng)是( )。
A)內(nèi)部類(lèi)可以直接訪(fǎng)問(wèn)外部類(lèi)的成員
B)外部類(lèi)可以直接訪(fǎng)問(wèn)內(nèi)部類(lèi)的成員
C)外部類(lèi)不能訪(fǎng)問(wèn)內(nèi)部類(lèi)的成員
D)外部類(lèi)可通過(guò)創(chuàng)建內(nèi)部類(lèi)的實(shí)例來(lái)訪(fǎng)問(wèn)內(nèi)部類(lèi)的成員
三、程序閱讀題
1、閱讀下面的程序代碼,并回答問(wèn)題(u問(wèn)3分,v問(wèn)3分,共6分)。
String s1 = new String("abcde");
Strings2 = new String("abcde");
booleanb1= s1.equals(s2);
booleanb2 = s1== s2;
System.out.print(b1+" "+b2);
u程序段執(zhí)行后,在命令行的輸出結(jié)果如何?
v解釋輸出(1)的結(jié)果的原因?
答案:
u true false
vequals方法比較兩個(gè)字符串的內(nèi)容是否相等;運(yùn)算符“==”判斷兩個(gè)對(duì)象是否指向同一個(gè)引用,即是否為同一個(gè)對(duì)象。
2、閱讀下面的程序,并回答問(wèn)題(u問(wèn)3分,v問(wèn)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);
}
}
}
編譯運(yùn)行上面的程序:
u從鍵盤(pán)輸入10,回車(chē)后輸出的結(jié)果如何?
v從鍵盤(pán)輸入exit,回車(chē)后程序能正確執(zhí)行嗎?為什么?
答案:
u100
v不能;因?yàn)榉椒↖nteger.parseInt(str)不能將字符串“exit”轉(zhuǎn)化為整數(shù),拋出異常。
3、寫(xiě)出下面的程序編譯、運(yùn)行后的結(jié)果(6分)。
public class Test{
public static void main(String args[]) {
new Student("Tom", 'm', 90, 88);
new Student("Jack", 'm', 66,89);
new Student("Mary", 'f', 76,86);
System.out.println("name\tsex\tchinese\tenglish");
Student.print();
}
}
class Student {
protected String name;
protected char sex;
protected int chinese;
protected int english;
protected Student next;
static Student list;
Student (String name, char sex, int chinese,int english) {
this.name=name;
this.sex=sex;
this.chinese=chinese;
this.english=english;
this.next=list;
list=this;
}
static void print() {
Student friend=list;
if (friend==null)
System.out.println("The listis empty.");
else {
do{
System.out.println(friend.toString());
friend=friend.next;
}while(friend!=null);
}
}
public String toString() {
return newString(name+"\t"+sex+"\t"+chinese+"\t"+english);
}
}
答案:
name sex chinese english
Mary f 76 86
Jack m 66 89
Tom m 90 88
【2016年《JAVA程序設(shè)計(jì)》期末考試試題】相關(guān)文章:
2.sun認(rèn)證:java程序設(shè)計(jì)考試試題
4.JAVA語(yǔ)言程序設(shè)計(jì)練習(xí)題