練習是幫助我們鞏固知識的最好方法,以下是小編為大家整理的2017計算機二級《JAVA》考前測試題及答案,希望對大家有幫助!
1.下列關於Java語言特點的敘述中,錯誤的是( )。
是面向過程的程式語言
支援分散式計算
是跨平臺的程式語言
支援多執行緒
2.可以使當前同級執行緒重新獲得執行機會的方法是( )。
p()
()
d()
rrupt()
3.下列語句中,屬於多分支語句的是( )。
語句
語句
ch語句
while語句
4.閱讀下列程式碼
public class Test2005{
public static void main(String args[]){
String s="Test";
switch(s){
case"Java":t("Java");
break;
case"Language":t("Lan-
guage");
break;
case"Test":t("Test");
break;
}
}
}
其執行結果是( )。
uage
D.編譯時出錯
5.在程式讀入字元檔案時,能夠以該檔案作為直接引數的類是( )。
Reader
eredReader
lnputStream
ctlnputStream
6.下列描述中,正確的是( )。
A.在Serializable介面中定義了抽象方法
B.在Serializable介面中定義了常量
C.在Serializable介面中沒有定義抽象方法,也沒有定義常量
D.在Serializable介面中定義了成員方法
7.請閱讀下面程式,說明該程式建立執行緒使用的方法是( )。
public class ThreadTest
{
public static void main(String args[])
{
Thread tl=new Thread(new HolloWorld());
Thread t2=new Thread(new HolloWorld());
t();
t();
}
}
class HolloWorld implements Runnable
{
int i;
public void run()
{
while(true)
{
tln("HolloWorld"+i++);
if(i= =5)break;
}
}
}
A.繼承Thread類
B.實現Runnable介面
t()
t()
包的File類是( )。
A.字元流類
B.位元組流類
C.物件流類
D.非流類
9.為保護本地主機,對Applet安全限制中正確的是( )。
et可載入本地庫或方法
et可讀、寫本地計算機的檔案系統
et可向Applet之外的任何主機建立網路連線
et不能執行任何本地可執行程式
10.請閱讀下面程式
public class ExampleStringBuffer{
public static void main(String[]args){
StringBuffer sb=new StringBuffer("test");
tln("buffer="+sb);
tln("length="+th
());}}
程式執行結果中在"length="後輸出的值是( )。
A.10
B.4
C.20
D.30
參考答案及解析:
1.A。解析:Java是新一代程式語言,具有很多特點:簡單易學;利用面向物件技術;分散式計算;健壯性(魯棒性);安全性;跨平臺(即體系結構中立);可移植性;解釋執行;高效能;多執行緒;動態性。因此,本題的正確答案是A。
2.C。解析:本題考查執行緒的基本控制。Thread類提供的基本執行緒控制方法包括:sleep()——使比其低的優先順序執行緒執行,可以讓一個執行緒暫停執行一段固定的時間;yield()——使具有與當前執行緒相同優先順序的執行緒有執行的機會;join()——使當前線‘程暫停執行,等待呼叫該方法的執行緒結束後,再恢復執行;interrupt()——中斷執行緒的阻塞狀態,並且執行緒接收到InterruptException異常。根據上述介紹可知,只有yield()方法可以使當前同級執行緒重新獲得執行機會。因此,本題的正確答案是C。
3.C。解析:do while語句和for語句是迴圈語句;it語句和switch語句是分支語句。而if語句稱為條件語句, switch語句稱為多分支語句。
4.D。解析:本題考查switch語句的'用法。switch語句是多分支語句,即根據表示式的值來執行多個操作中的一個。在switch語句中,”表示式”的返回值型別必須是這幾種型別
之一:int、byte、char、short。本題中,switch的表示式s是一個字串Strin9型別的值,它不是int、byte、char、short中的任意一個。因此表示式s的型別不對,編譯時出錯。
5.A。解析:FileReader、BufferedReader是字元類輸入流。FileInputStream是位元組輸入流。物件序列化時,需要使用ObjectlnputStream類中提供的方法從物件流中讀取物件。所以,在程式讀入字元檔案時,要使用字元流FileReader或BufferedReader。但是FileReader的引數是讀入的檔案,而BufferedReader的引數是FileReader流的一個物件。因此,本題的正確答案是A。
6.C。解析:在java.i0包中,介面Serializable是實現物件序列化的工具。實際上,Serializable介面是一個空介面,它裡面既沒有定義抽象方法,也沒有定義常量。Serializable介面的目的只是簡單地標識一個類的物件是可以被序列化的。
7.B。解析:本題考查執行緒的建立。在Java中,建立執行緒有兩種方法:①通過實現Runnable介面建立執行緒。Runnable介面中只定義了一個run()方法作為執行緒體。②通過繼承Thread類建立執行緒,Thread類本身實現了Runnable介面。建立的新的執行緒不會自動執行,必須呼叫start()方法才能執行。本題中HolloWorld類實現了Runnable介面。
8.D。解析:包中的類可以處理不同型別的流,比如位元組流、字元流、物件流、非流類等。File類就是一個重要的非流類,它是以一種系統無關的方式表示一個檔案物件的屬性。
9.D。解析:Java平臺為了防範惡意程式的攻擊,保護本地主機,對Applet作了如下安全限制:①Applet不能執行任何本地可執行程式。②禁止載入本地庫或方法。③禁止讀、寫本地計算機的檔案系統。④禁止向提供Applet之外的任何主機建立網路連線。⑤不能讀取某些系統資訊。⑥由一個Applet彈出的視窗外觀上與一個Application彈出的視窗不同,Applet彈出的視窗中會有警告提示資訊,幫助使用者區分Applet視窗與可信的Application視窗。
10.B。解析:本題對StringBuffer(String str)構造方法,用str給出字串的初始值,並分配16個字元的快取。因此,字串sb的初始值是”test”,並且包含l6個字元的快取。length()方法用來獲得字串長度,不包含快取。故程式執行結果中在”length=”後輸出的值應該是字串sb的長度,即4。