- 相關推薦
2017計算機二級JAVA預測題及答案
2017年3月計算機二級考試時間為3月26日-29日,為了幫助考生順利通過計算機二級考試,下面百分網小編為大家帶來計算機二級JAVA預測題及答案,供大家參考學習,預祝考生考試順利!
1.下列關于棧敘述正確的是( )。
A.棧頂元素能最先被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.以上三種說法都不對
2.下列敘述中正確的是( )。
A.有一個以上根結點的數據結構不一定是非線性結構
B.只有一個根結點的數據結構不一定是線性結構
C.循環鏈表是非線性結構
D.雙向鏈表是非線性結構
3.某二叉樹共有7個結點,其中葉子結點只有l個,則該二叉樹的深度為(假設根結點在第1層)( )。
A.3
B.4
C.6
D.7
4.在軟件開發中,需求分析階段產生的主要文檔是( )。
A.軟件集成測試計劃
B.軟件詳細設計說明書
C.用戶手冊
D.軟件需求規格說明書
5.結構化程序所要求的基本結構不包括( )。
A.順序結構
B.GOT()跳轉
C.選擇(分支)結構
D.重復(循環)結構
6.下面描述中錯誤的是( )。
A.系統總體結構圖支持軟件系統的詳細設計
B.軟件設計是將軟件需求轉換為軟件表示的過程
C.數據結構與數據庫設計是軟件設計的任務之一
D.PAD圖是軟件詳細設計的表示工具
7.負責數據庫中查詢操作的數據庫語言是( )。
A.數據定義語言
B.數據管理語言
C.數據操縱語言
D.數據控制語言
8.一個教師可講授多門課程,一門課程可由多個教師
講授。則實體教師和課程間的聯系是( )。
A.1:l聯系
B.1:m聯系
C.m:1聯系
D.m:n聯系
9.有三個關系R、S和T如下:
則由關系R和S得到關系T的操作是( )。
A.自然連接
B.交
C.除
D.并
10.定義無符號整數類為UInt,下面可以作為類UInt實例化值的是( )。
A.-369
B.369
C.0.369
D.整數集合{1,2,3,4,5}
11.下列關于面向對象的論述中,正確的是( )。
A.面由對象是指以對象為中心,分析、設計和實現應用程序的機制
B.面向對象是指以功能為中心,分析、設計和實現應用程序的機制
C.面向對象僅適用于程序設計階段
D.面向對象是一種程序設計語言
12.語句"Hell0".equals("hell0");的正確執行結果
public static void main(String[]args){
int[]x={0,1,2,3};
for{int i=0;i<3;1+=2){
try{
systcm.OUt.println(x[i+2]/x[i]+x[i+1]);
}catch(ArithmeticException e){
System.OUt.println("errorl"):
}catch(Exception e){
System.OUt.println("error2"):
}
}
}
}
A.errorl
B.error2
C.errorl
D.2
orror2 error2
16.下列整數的定義中,錯誤的是( )。
A.int f=314.;
B.int a=012;
C.int i=189;
D.int d=0x123;
17.要得到某目錄下的所有文件名,在下列代碼的下畫
線處應填入的內容是(兩個下畫線的填寫內容相同)( )。
pathName=new (args[o]);
String[]fileNames=pathName.list();
A.FilefnputStream B.FileOutputStream
C.File D.RandomAccessFile
18.在下列代碼的下i畫線處應填人的內容是( )。
public class FirstSample{
public static void main( args[]){
System.out.println("你好!");
}
}
A.staff B.double
C.int D.String
19.Object類中的方法public int hashCode[],在其子類中
覆蓋該方法時,其方法修飾符可以是( )。
A.protected B.public
C.private D.缺省
20.下列代碼中的內部類名是( )。
import java.awt.event.*;
lapoct javax.swin9.*;
class TalkingClock(
public void start(int interval,final boolean beep){
ActionListener listener=new
ActionListener(){
public void actionPerformed(ActionEvent e-
vent){
…
}
}
Timer t=new Timer(interval,listener);
t.start();
}
}
A.Timer
B.ActionListener
C.1istener
D.匿名
21.已知zipname是一個壓縮文件名。則zipname在下列代碼中出現的正確位置是( )。
ZipInputStream zin=
new ZipInputStzeam(new FileInputStream(①));
ZipEntry entry ;
while((entry=zin.getNextEntry(②))!=null){
fileCombo.addltem(entry.getNamc(③));
zin.closeEntry(④);
}
zin.close();
A.①
B.②
C.③
D.④
22.下列代碼的執行結果是( )。
int numbers[]=new int[6];
for(int i=1;inumbers[[i]=i-1 ;
Systern.OUt.print(numbers[I]+"");
A.0 1 2 3 4 5
B.1 2 3 4 5 6
C.0 1 2 3 4
D.1 2 3 4 5
23.Java API ee支持線程的類或接口是( )。
Ⅰ.java.lang.Thread
Ⅱ.java.lang.Runnable
Ⅲ.java.lang.ThreadGroup
IV.java.io.Serializable
A.I,Ⅱ B.I,Ⅱ,Ⅲ
C.I,Ⅱ,IV D.I,Ⅱ,Ⅲ,Ⅳ
24.下列關于Test類的定義中,正確的是( )。
A.class Test implements Runnable{
public void run(){}
Dublic void someMethod[]{}
}
B.class Test implements Runnable(
puIblic void run();
}
C.class Test implements Runnable(
Dublic void someMethod[];
}
D.class Test implements Runnable(
public void someMethod(){}
}
25.下列方法被調用后,一定使調用線程改變當前狀態的是( )。
A.notify()
B.yield()
C.sleep()
D.isAlive()
26.在堆棧類Sharedstack的定義中,為了保證堆棧在并發操作中數據的正確性,應在下畫線處填入的修飾符是(兩個下畫線的填寫內容相同)( )。
public class SharedStack{
int idx=0;
char[]data=new char[10];
public synchtonized void push(char c){……}
publR,synchronized void pop(){……}
}
A.Dublic
B.不使用修飾符
C.private
D.protected
27.關于下列代碼編譯或執行結果的描述中,正確的是( )。
public class Test{
public static void main(String argsE]){
TcstThread pml=new TestThread("One")
pml.start();
TestThread pm2=new TestThread("Tw0")
pm2.start();
}
}
class TestThread extends Thread(
private String sTname="";
TestThread(String s){
sTname=s;
}
public void run(){
for(int i=O;i<2;i++){
try{
sleep(1000);
}catch(InterruptedException e){}
system.out.print(sTname+"");
}
}
}
A.不能通過編譯,TestThread類中不能定義變量和構造方法
B.輸出One One Two Two
C.輸出Two One One Two
D.選項B或C都有可能出現
28.下列關于Applet的敘述中,正確的是( )。
A.為了使Applet在瀏覽器中運行,需要在HTML文件中嵌入相應的Applet類
B.Applet不能從外部接收參數
C.Applet不能使用javac命令進行編譯
D.Java Application與Applet都必須包含main()方法
29.下列代碼的下畫線處應填入的方法名是( )。
import java.awt.*;
import java.applet.*;
public class Hello extends Applet{
public void (Graphics g){
9.drawstring("How are you!",l0,10);
}
}
A.repaint B.println
C.paint D.show
30.下列變量的定義中,錯誤的是( )。
A.int X=3;
B.float f;d;
C.String s="Hell0";
D.boolean b=true;
31.下列代碼的執行結果是( )。
int length="Hell0".length();
System.OUt.println(length);
A.5
B.2
C.10
D.6
32.下列代碼的編譯或執行結果是( )。
public class Myval{
public static void main(string args[]){
MyVal m=new MyVal();
m.aMethod();
}
public void aMethod(){
boolean b[]=new Boolean[5];
System.OUt.println(b[0]);
}
}
A.1
B.null
C.0
D.編譯錯誤
33.若變量a是String類型的數據,那么表達式(a+a)的類型是( )。
A.char
B.String
C.int
D.long
34.Component類中用于刷新組件的方法是( )。
A.getFont()
B.getName()
C.update()
D.paint()
35.鼠標在窗口中移動時,產生的事件是( )。
A.ActionEvent
B.PrintEvent
C.KeyEvent
D.MouseEvent
36.一棵二叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF,則后序歷結果為( )。
A.ACFBED
B.DFBECA
C.ABCDEF
D.DEBFCA
37.在關系A(S,SN,D)和關系B(D,CN,NM)中,A的主關鍵字是S,B的主關鍵字是D,則關系A的外碼是( )。
A.CN
B.SN
C.S
D.D
38.若類聲明加上( )修飾符,則表示該類不能有子類。
A.close
B.final
C.down
D.end
39.在對象流中,對象的傳送首先要將所傳送的對象串行化,也就是實現Serializable接口。下列代碼中必須實現 Serializable接口的類是( )。
obiectInput in=
new ObjectlnputStream(new FileInputStream("am-
ployee.dat"));
Employee[]newStaff=(Employee[1]in.readobject();
A.Employee B.Input
C.Staff D.Stream
40.下列代碼的執行結果是( )。
public class Expression{
public static void main(String arga[](
Int vl=10,v2=99,v3=0;
System.Out.prIntln((vl}
}
A.9.9
B.3
C false
D.true
參考答案
1.A。【解析】棧是限定在一端進行插入、刪除的先入后出的線性表數據結構,棧頂元素最后插入到棧中,但是最先被刪除;而棧底元素最先插入,最后被刪除。
2.D。【解析】線性表的特點是:在數據元素的非空有限集合中;存在唯一的一個被稱為“第一個”的數據元素;存在唯一一個被稱為“最后一個”的數據元素;除第一個以外,集合中的每個數據元素均只有一個后繼;除最后一個以外,集合中的每個數據元素均只有一個后繼。因此,雙向表是非線性結構。
3.D。【解析】對于任意一棵二叉樹T,如果葉子結點數為n0,度為2的結點數為n2,二者之間的關系是n0=n2+1,該題中度為2的結點數為0,且只有一個葉子結點,因此,樹中度為l的結點有6個,很容易想到樹的高度為7。
4.D。【解析】需求分析階段只能產生需求分析規格說明數,A測試說明書是軟件測試階段生成的,B軟件詳細設計說明書是設計階段生成的,C用戶手冊是軟件發布時隨軟件一同交付給用戶的。
5.B。【解析】結構化程序設計的三種結構是順序、分支和循環,不包括goto跳轉,它只是分支結構的一種,也是一個關鍵字。
6.A。【解析】軟件系統的總體結構圖是軟件架構設計的依據,它并不能支持軟件的詳細設計。
7.C。【解析】數據庫操縱語言專門負責查詢、增加和刪除等數據操作。
8.D。【解析】一個教師可以上多門課程,一門課程也可以由多個教師教授,這是典型的多對多的E—R關系。
9.C。【解析】S中的關系全部出現在R中,只有做除法操作才會出現關系T。
10.B。【解析】A是有符號數,C是浮點數,D是集合,并不是類的實例化對象,只有B完全符合。 11.A。【解析】面向對象是一種程序設計方式,Java、 C++是面向對象設計的語言,而C是面向過程設計的語言。面向對象設計適應于設計、編碼、實現、測試等一系列環節。
12.B。【解析】Java是強類型檢查語言,字符串的equals方法執行的返回值是true或者false。
13.B。【解析】一個文件的public類最多可以有一個,但是可以包含多個import,包含的接口定義也可以有多個,包含的class類可以有多個,當該文件命名時,可以以public類名來命名,反之編譯之后將有多個.class文件生成。
14.D。【解析】Java的關鍵字中不包含NULL,它是C語言的關鍵字,表示空。
15.C。【解析】當0作為除數時,會產生異常,而ArithmeticException和Exception兩類異常都內部被捕捉到。
16.A。【解析】整數的定義不能帶小數點,表明是一個浮點數;其他三個都正確。
17.C。【解析】使用File類的list方法可以獲得目錄下所有文件名稱,FileInputStream和FileOutputStream類都不具有list方法。
18.D。【解析】這是學習Java語言接觸的第一個程序,main函數的參數是String args[]。
19.B。【解析】所有的類都是Object的子類,如果要覆蓋Object的equals方法則必須覆蓋hasCode方法,覆蓋時的屬性是public。
20.B。【解析】內部類就是在類內部重新定義的新類,該類能連接外部類,但是不能和外部類進行通信。AetionL.istenser有自己的類方法體,而Timer沒有,只是實例化了一個Timer對象。21.A。【解析】該程序的功能是從zip壓縮文件中獲取各個文件的名字。因此應該在A處。
22.C。【解析】該題是簡單的for循環考題,通過逐一判斷可得到答案,數組的長度是6,數組的內容從下標1開始,最大循環是5,numbers[5]的值是4。
23.A。【解析】java.lang.Thread類和java.lang.Runnable是創建線程的兩個方法,分別是實現Thread類和繼承 Runnable接口,而ThreadGroup類是管理一組線程的類。而Serializable是序列化,將一個對象的狀態保存起來,在適當的時候再獲得,它不支持線程。
24.A。【解析】java中實現多線程的方法之一就是實現Runnable接口中的run方法,把實現Runnable接口的子類對象傳遞給Thread類的構造函數。
25.C。【解析】線程調用sleep函數后,使當前線程進入停滯狀態。yield函數可使線程進入可執行狀態,排程器從可執行狀態的線程中重新排程,調用了yield函數的線程有可能被馬上執行,也有可能不會馬上執行。notify函數從線程等待池中移走任意一個線程,并把它放到鎖標志等待池中,其狀態仍舊是等待。所以只有sleep一定會改變線程狀態。
26.C。【解析】堆棧中為了保證訪問數據的一致性,應該對類的數據進行封裝,而實現類數據封裝的級別是private。
27.D。【解析】啟動兩個線程,線程之間沒有進行同步,所以B和C均有可能。
28.A。【解析】applet程序必須在瀏覽器中運行,因此它需要支持applet類,而applet程序可以接受外部參數,可以使用javac編譯,但是可以不用包含main函數。
29.C。【解析】這里使用一個繼承自Applet的類來顯示字符。主要方法是在paint()方法中使用System.out.println()顯示。
30.B。【解析】正確的方法是float f,d;,中間應該使用“,”而不是“;”,因為在Java中“;”表示一個語句結束。
31.A。【解析】字符串"Hello"的長度是5,java在計算字符串長度時只計算實際字符串長度。
32.A。【解析】boolean類型的變量值只有ture或false,b[0]的默認初始值為false。
33.B。【解析】Java中允許兩個String類型進行+運算,其結果仍舊是String類型。
34.C。【解析】getFont方法用來獲取字體,getName方法用于獲取組件的名字,paint方法用于繪制組件,update方法用于刷新組件。
35.D。【解析】鼠標在窗口中移動產生的事件是MouseEvent事件,ActionEvent是動作事件處理,PrintEvent是打印事件,KeyEvent是鍵盤事件。
36.D。【解析】這類題型一般通過前序遍歷的結果來找根結點,用中序遍歷的結構找分支結點,通過畫出該二叉樹可得到結果。
37.D。【解析】外碼用于建立和加強兩個關系之間的連接,通過將保存關系中主鍵值的一列或多列屬性添加到另一個關系中,可建立兩個關系之間的聯系,這個列屬性稱為第二關系的外碼。
38.B。【解析】如果一個類被final修飾符修飾說明這個類不可能有子類,被定義為final的類通常是一些有固定作用,用來完成某種標準功能的類。
39.A。【解析】一個對象能夠實現序列化的前提是實現Serializable接口,Serializable接口沒有方法,更像是一個標記,有了這個標記的Class才能被序列化機制處理。
40.C。【解析】此題后半部分除數是0,按常理說應該報異常,且不會得出結果。但是在計算&&運算時采用了部分結果方法,即先運算前半部分,如果前半部分為假,則不必計算后半部分,整個結構為假,如果前半部分為真,這時才計算后半部分的值,在此,前部分已經為假,所以結果就不用計算后半部分。
【計算機二級JAVA預測題及答案】相關文章:
計算機二級考試office預測題及答案07-06
2017計算機二級Java強化題及答案07-01
2017計算機二級JAVA預測試題及答案06-01
2016計算機二級《Access》考試預測題及答案10-20
計算機二級Java習題及答案09-09
計算機Java考點精煉題及答案09-27