- 相關推薦
全國計算機等級考試《二級Java》模擬試題(含答案)
通過試題練習能夠幫助考生們更好地掌握所學知識點,以下是百分網小編搜索整理的一份全國計算機等級考試《二級Java》模擬試題(含答案),供參考練習,預祝考生們考出自己理想的成績!想了解更多相關信息請持續關注我們應屆畢業生考試網!
1.如果進棧序列為el、e2、e3、e4、e5,則可能的出棧序列是()。
A.e3、el、e4、e2、e5
B.e5、e2、e4、e3、el
C.e3、e4、e1、e2、e5
D.任意順序
2.下述關于數據庫系統的敘述中,正確的是()。
A.數據庫系統減少了數據冗余
B.數據庫系統避免了一切冗余
c.數據庫系統中數據的一致性是指數據類型一致
D.數據庫系統比文件系統能管理更多的數據
3.數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是()。
A.控制流
B.加工
C.數據存儲
D.源和終
4.已知一個有序線性表為(13,18,24,35,47,50,62,83,90。115,134),當用二分法查找值為90的元素時,查找成功的比較次數為()。
A.1
B.2
C.3
D.9
5.有下列二叉樹,對此二叉樹進行后序遍歷的結果為()。
A.ACBEDGFH
B.GDBHEFCA
C.HGFEDCBA
D.ABCDEFGH
6.下列關于項目中“移出”文件的說法,正確的是()。
A.被移出的文件將直接從磁盤中刪除
B.被移出的文件將不能被任何項目添加
C.被移出的文件只是將文件移出項目,但文件保留在磁盤中
D.被移出的文件,以后不能再次添加到原項目中,但可以添加到其他項目中
7.需求分析階段的任務是()。
A.軟件開發方法
B.軟件開發工具
C.軟件開發費用
D.軟件系統功能
8.設R是一個2元關系,S是一個3元關系,則下列運算中正確的是()。
A.R-S
B.R×S
C.RnS
D.RUS
9.結構化分析方法是面向()的自頂向下逐步求精進行需求分析的方法。
A.對象
B.數據結構
C.數據流
D.目標
10.數據庫設計包括兩個方面的設計內容,它們是()。
A.概念設計和邏輯設計
B.模式設計和內模式設計
C.內模式設計和物理設計
D.結構特性設計和行為特性設計
11.用來導入已定義好的類或包的語句是()。
A.main
B.import
C.publicclass
D.ClaSS
12.下列敘述中,正確的是()。
A.聲明變量時必須指定一個類型
B.Java認為變量number與Number相同
C.Java中唯一的注釋方式是“//”
D.源文件中public類可以有0個或多個
13.下列屬于合法的Java標識符是()。
A."ABC"
B.&5678
C.+rriwo
D.saler
14.下列代表十六進制整數的是()。
A.Ol23
B.1900
C.fa00
D.0xa2
15.在Java中,實現用戶界面功能的包是()。
A.java.applet
B.javax.transaction
C.java.util
D.java.awt
16.下面()正確表示了int類型的聚會范圍。
A.-216~216-1
B.-231~231-1
C.-232~232-1
D.-264~264-1
17.在編寫Java程序的時候,如果不為類的成員變量定義初始值,Java會給它們設置默認值,下列說法中不正確的是()。
A.Byte的默認值是0
B.int的默認值是0
C.long的默認值是0.0L
D.float的默認值是0.Of
18.Java.語言中所有的簡單數據類型都被包含在()中。
A.java.sql
B.java.awt
C.java.lang
D.java.math
19.設a=8,則表達式a>>>2的值是()。
A.1
B.2
C.3
D.4
20.以下各選項中能正確聲明一個表示50個值為null的字符串數組的是()。
A.string[]a;
B.stringa[];
C.chara[50][];
D.stringa[]=newString[50]
21.下列程序的輸出結果是()。
publicclassArrayTest
{
publicstaticvoidmain(Stringargs[])
{
int[]intArray=newint[3]
for(inti=0;i<3;i++)
{
intArray[i]=i+2:
system.out.println("lntArray["+i+"]¨=
intArray[i]);
}
System.out.println("----------");
intarrlen=4:
IntArray=newint[arrLen];
For(intj=intArray.length;j>=0;j--)
{
intArray[j]=j*3;
system.out.println("hello"+intArray[j]);
}
}
}
A.編譯未通過
B.編譯通過,但運行錯誤
C.可以運行,但有錯誤
D.以上都不對
22.下列程序的運行結果是()。
Publicclasssun
{
Publicstaticvoidmain(Stringargs[])
{
intx=4,y=0;
if(Math.pow(X,2)==16)
y—x;
if(Math.pow(X,2)<15)
y—l/x;
if(Math.pow(X,2)>15)
y=(int)Math.pow(X,2)+1;
system.out.println(y);
}
}
A.4
B.17
C.18
D.0.25
23.自定義的異常類可從()類繼承。
A.Error
B.AWTError
C.VirtualMachineError
D.Exception及其子集
24.t為int類型,進入下面的循環之前,t的值為0。則下列說法中正確的是()。while(t=1){…}
A.循環控制表達式的值為0
B.循環控制表達式的值為1
C.循環控制表達式不合法
D.以上說法都不對
25.下面for循環語句的執行結果是()。
for(intj=10;j>3;j--)
if(j1=O)
j--;
--j;
--j;
System.OUt.println(j);
}
A.63
B.74
C.62
D.73
26.關于Applet執行的操作,下面說法正確的是()。
A.在運行時調用其他程序
B.可以進行文件讀/寫操作
C.不能裝載動態連接庫和調用任何本地方法
D.試圖打開一個socket進行網絡通信,但是所連接的主機并不是提供Applet的主機
27.下列關于Applet生命周期的說法,正確的是()。
A.voidinit()在Applet下載前調用
B.voidstart()只在初始化之后調用
C.voidstop()在關閉瀏覽器時調用
D.stop()總在voiddestroy()之前被調用
28.對于下面語句的說法,不正確的是()。ThreadthrObj=newThread():
A.系統沒有為該線程對象分配資源
B.只能啟動或者終止
C.創建了一個空的線程對象
D.可以調用其他方法
29.在Java中,線程是()。
A.分時的
B.搶占式的
C.非搶占式的
D.非分時的
30.下列關于線程和進程的說法正確的是()。
A.進程結構的所有成分都在用戶空間內
B.用戶程序能夠直接訪問進程涉及的數據
C.線程是內核級的實體
D.線程結構駐留在用戶空間中
31.下列選項成員變量聲明正確的是()。
A.publicprotectedfinalinti;
B.abstractclassFl{…}
C.privatedoubleheight;
D.doubleweight()
32.下面程序段的輸出結果是()。
classTest{
publics,taticvoidmain(Stringargs[]){
MyThreadt=newMyThread();
t.displayOutput("thasbeencreateD");
t.start();
}
}
ClassMyThreadextendsThread{
publicvoiddisplayOutput(Strings){
System.out.println(s);
}
publicvoidrun(){
displayOutput("tisrunning.");
}
}
A.thasbeencreated.
B.thasbeencreated.tisrunning.
C.tisrunning.
D.編譯出錯
33.執行下列程序時,會產生什么異常()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intd=101;
intb=220:
longa=321;
System.OUt.println((a-b)/(a-b-d));
}
}
A.ArraylndexOutOfBoundsException
B.NumberFormatException
C.ArithmeticException
D.EOFExeeption
34.下面程序段的輸出結果為()。
publicclassTest
{
publicstaticvoidmain(Stringargs[])
{
booleana,b,C;
a=(3<5):
b=(a==true);
System.out.println("a="+a+"b="+b);
c=(b==false);
System.out.println("b="+b+"c="+c);
}
}
A.a=trueb=falseB.fl=trueb=false
b=truec=trueb=truec=false
C.a=trueb=trueD.a=falseb=false
b=truec=falseb=truec=false
35.下面程序段的輸出結果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta,b;
for(a=1,b=1;a<=100;a++){
if(b>=10)break;
if(b%2==1){
b+=2:
continue;
}
}
System.OUt.println(a);
}
}
A.5B.6
C.7D.101
36.棧中允許進行插入和刪除的一端稱為()。
A.棧頂B.棧底
C.棧端D.棧尾
37.下面程序段的輸出結果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inti=1:
switch(i){
case0:
System.OUt.println("0");
break;
casel:
System.out.println("1");
case2:
System.OUt.println("2");
break;
default:
System.out.println("default");
}
}
}
A.01
B.12
C.10
D.21
38.Frame默認的布局管理器是()。
A.FlowLayout
B.BorderLayout
C.GridLayout
D.UpLayout
39.在Java語言中,ObjectOutputStream是指()。
A.字節流
B.字符流
C.對象輸出流
D.數據流
40.請閱讀下列程序代碼,然后將程序的執行結果補充完整。橫線處應填寫的內容是()。
程序代碼:
publicclassthrowsExeeption{
staticvoidProc(intsel)
throwsArithmeticException,ArrayIndexOutOf
BoundsException{
System.out.println("InSituation"+sel);
if(sel==0){
System.OUt.println("noExceptioncaught");
return;
}
elseif(sel==l){
intiArray[]=newint[4];
iArray[1]=3;
}
}
publicstaticvoidmain(Stringargs[]){
try{
Proe(O);
Proc(1);
}
catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("Catch"+e);
}
finally{
System.out.println("inProcfinally"):
}
}
}
執行結果:
InSituation0
noExceptioncaught
inProcfinally
A.InSituationl
B.InSituation
C.withCatch
D.intiArrayl
參考答案與解析
1.B。【解析】根據棧先進后出的特點可知el肯定是最后出棧的,因此正確答案為選項B。
2.A。【解析】數據庫系統會減少數據冗余,但不可能避免所有冗余。
3.A。【解析】數據流圖簡稱DFD,它以圖形的方式描繪數據在系統中流動和處理的過程,由于它只反映系統必須完成的邏輯功能,所以它是一種功能模型。數據流圖有4種基本圖形符號:箭頭表示數據流;橢圓表示加工;雙杠表示存儲文件(數據源);方框表示數據的源點或終點。
4.B。【解析】根據二分法查找需要兩次:首先將90與表中間的元素50進行比較,由于90大于50。所以在線性表的后半部分查找;第二次比較的元素是后半部分的中間元素,即90,這時兩者相等,即查找成功。
5.B。【解析】對二叉樹的后序遍歷是指:先訪問左子樹,然后訪問右子樹,最后訪問根結點,并且在訪問其左、右子樹時先訪問其左、右子樹,最后訪問根結點。
6.C。【解析】在數據庫中移除不代表刪除,從項目中移除是指文件只是從項目中移除,但文件還保存在磁盤中,如果需要仍然可再次添加到此項目中。當在項目中刪除文件后,文件才能被添加到其他的項目中。所以答案選擇C。
7.D。【解析】需求分析是軟件定義時期的最后一個階段,它的基本任務就是詳細調查現實世界要處理的對象,充分了解原系統的工作概況,明確用戶的各種需求,然后在這些基礎上確定新系統的功能。
8.B。【解析】關系的交(n)、并(U)和差(一)運算要求兩個關系是同元的,顯然作為二元的R和三元S只能做笛卡兒積運算。
9.C。【解析】結構化分析方法是面向數據流進行需求分析的方法,采用自頂向下、逐層分解、建立系統的處理流程。
10.A。【解析】數據庫設計包括概念設計和邏輯設計兩個方面的內容。
11.B。【解析】本題考查Java中的import語句。Java中使用import語句來導入已定義好的類或包,需要注意Java語言的java.lang包是編譯器自動導入的,編程時如果使用該包中的類,可省去import導入,如果要使用其他包中的類,必須用import導入。
12.A。【解析】本題考查Java的基本概念。Java的基本概念是考試重點,應該重視。在Java中,聲明變量時,必須指定類型,否則將會出錯,所以選項A說法正確。Java標識符是區分大小寫的,變量number和Number對Java來說是不同的,選項B說法錯誤。Java中有三種注釋方式:文檔注釋/**…*/,被javadoc處理,可以建立類的一個外部說明性文件;C語言注釋風格/*…*/,用于去掉當前不再使用但仍想保留的代碼等;單行注釋//,格式上要求注釋符//后必須緊跟一個空格,然后才是注釋信息,選項C說法錯誤。源文件中public類可以有0個或l個,不能多于l個,選項D說法錯誤。
13.D。【解析】本題考查Java語言中的整型常量。整型常量有三種書寫格式:十進制整數,如156,-230,345;八進制整數,以0開頭,如012表示十進制的l0;十六進制整數,以0x或0X開頭,如0X123表示十進制數291。由此可見,選項A表示的是十六進制整數,選項B不是整數形式,選項C是十進制整數,選項D是八迸制整數,為本題正確選項。Java中標識符的命名規則是:標識符以字母、下畫線、美元符作為首字符的字符串序列;標識符是區分大小寫的;標識符的字符數沒有限制。由此可見,Java中標識符不能以“"”開頭,所以選項A錯誤,不能以“&”開頭。選項B錯誤,不能以“+”開頭,選項C錯誤,只有選項D是正確答案。
14.D。【解析】本題考查Java語言中的整型常量。整型常量有三種書寫格式:十進制整數,如123,-30,365;八進制整數,以0開頭,如011表示十進制的9;十六進制整數:以0x或0X開頭,如0X123表示十進制數291。由此可見,選項D表示的是十六進制整數,選項C不是整數形式,選項B是十進制整數,選項A是八進制整數,只有選項D為本題正確選項。
15.D。【解析】本題考查考生對Java包功能的理解。選項A中java.applet包是為Applet提供執行需要的所有類,主要訪問Applet內容的通信類;選項B中transaction包是屬于javax而不是java,javax.transaction包是提供事務處理所需要的包;選項C中java.util包提供使用程序類和集合類,如系統特性定義和使用、日期函數類、集合Collection、Map、List、Array等常用工具類;java.awt包是封裝抽象窗口工具包,提供構建和管理用戶圖形界面功能,為本題正確答案。
16.B。【解析】該題考查對基本數據類型的長度范圍的掌握。在Java語言中,每一種基本類型的長度范圍是固定的,它不隨著機器字長的改變而改變。對于整型(int),它的長度是4字節,而且它可正可負,所以其取值范圍應該是-231~231-1。
17.C。【解析]Long類型的默認值為0L,而不是0.0L。
18.C。【解析Java語言中,所有的簡單數據類型都被包含在包java.lang中。
19.B。【解析】本題具體考查對位運算符中無符號右移運算符的掌握。無符號右移運算符”>>>”用于將一個數的各二進制位全部無符號右移若干位,與運算符”>>”不同的是左補0。在本題中,8的二進制表示l000,右移兩位后變成了0010,對應的十進制數是2。
20.D。【解析】本題考查對字符串數組變量聲明的掌握。在Java語言中,typearrayName[]和type[]arrayName的效果一樣,都表示聲明一個數組。所以選項A和選項B的效果是一樣的,對于本題來說都是不正確的,因為它們沒有指明數組所包含的元素的個數;選項C是一個二維的字符數組,Java語言跟C語言不一樣,在C語言中,一個二維的字符數組就可以表示一個一維的字符串數組。而在Java中,字符char是基本數據類型,字符串string則是以對象的形式來表示的。所以,chara[][]并不等價于stringa[]。而且,C選項并沒有指明數組的長度;選項D正確地聲明了一個長度為50的空字符串數組。
21.B。【解析】這是一道考查數組引用的題,目的是考查如何在程序中引用初始化后的數組。引用的方式為arrayName[index],其中index為數組的下標,可以為整數、變量和表達式,范圍從0開始,一直到數組的長度減l。在Java語言中,是要對數組下標進行檢查的。因此,當程序運行到數組的長度值時,就發生了越界現象。
22.B。【解析】本題是考查對if-else分支結構和幾個標準函數的理解。pow(x,y)方法是X的Y次冪,程序中pow(x,2)滿足第1個if語句和第3個if語句,條件變量y將被賦值兩次,但對于同一個變量來說,只能存儲最后一個所賦的值。
23.D。【解析】Java語言中Throwable類分為Error和Exception兩個子類。自定義的異常類是從Exception及其子集類繼承的。
24.B。【解析】本題考查對while循環及邏輯表達式的理解。循環控制表達式為賦值表達white式t=1,永遠為l(為真)。
25.B。【解析】該題考查對for循環的理解。①當j=10時,滿足條件j>3,由于for循環中j--執行了1次,j的值為9,執行if語句,j%3=0不滿足條件,繼續向下執行2次--j,j的值為7:②當j=7時,滿足條件j>3,由于for循環中J一一執行了1次,j的值為6,執行if語句,i%3=0不滿足條件,繼續向下執行2次--j,j的值為4。
26.C。【解析】本題考查Applet的概念。Java虛擬機為Applet提供能夠良好運行的沙箱,一旦它們試圖離開沙箱則會被禁止。由于Applet是通過網絡傳遞的,這就不可避免地使人想到會發生安全問題。例如,有人編寫惡意程序通過小應用程序讀取用戶密碼并散播到網絡上,這將會是一件非常可怕的.事情。所以,必須對小應用程序進行限制。瀏覽器禁止Applet運行任何本地可運行程序,選項A錯誤。禁止加載本地庫或方法,Applet只能使用自身的代碼或Applet瀏覽器提供的JavaAPl,不允許裝載動態連接庫和調用任何本地方法,選項C正確。禁止讀/寫本地計算機的文件系統,選項B錯誤。禁止與沒有提供Applet的任何主機建立網絡連接,如果Applet試圖打開一個socket進行網絡通信,所連接的主機必須是提供Applet的主機,選項D錯誤。
27.D。【解析】本題考查Applet生命周期的概念。Applet生命周期是考試重點考查內容,應該加以重視。init()在Applet下載時調用,而不是下載前調用,選項A錯誤。start()在初始化之后以及在Applet被重新訪問時調用,不僅僅只是在初始化之后調用,選項B錯誤。stop()在停止執行時調用,關閉瀏覽器時調用的是destroy(),選項C錯誤。destroy()在關閉加載Applet的瀏覽器從系統中撤出時調用,此時Applet必然調用stop()方法停止其運行,然后才能調用destroy()方法從內存卸載并釋放該Applet的所有資源。注意理解Applet的執行過程。
28.D。【解析】本題考查線程的創建。通過new命令創建一個線程對象后,該線程對象就處于創建狀態,上面的語句只是創建了一個空的線程對象,選項C說法正確。此時,系統并沒有為該線程對象分配資源,選項A說法正確。處于這種狀態的線程,只能啟動或者終止,選項B說法正確。該線程此時并不能調用其他方法,如果調用其他方法就會失敗并引起非法狀態處理,選項D說法錯誤。
29.B。【解析】本題考查線程的調度。Java的線程調度策略是一種基于優先級的搶占式調度,選項B正確。Java這種搶占式調度可能是分時的,即每個等待池中的線程輪流執行,也可以不是,即線程逐個運行,具體采用哪種方式,由具體JVM而定。線程一般通過使用sleep()等方法保證給其他線程運行時間。
30.D。【解析】本題考查線程和進程的概念。線程與進程在概念上是相關的,進程由代碼、數據、內核狀態和一組寄存器組成,而線程是由表示程序運行狀態的寄存器,如程序計數器、棧指針以及堆棧組成,線程不包括進程地址空間中的代碼和數據,線程是計算過程在某一時刻的狀態。進程是一個內核級的實體,進程結構的所有成分都在內核空間中,一個用戶程序不能直接訪問這些數據。線程是一個用戶級的實體,線程結構駐留在用戶空間中,能夠被普通的用戶級方法直接訪問。
31.C。【解析】本題考查對成員變量的聲明。成員變量的聲明格式為:修飾符type變量名;其中type可以是java語言中的任意數據類型,而修飾符可以是public、protected,private,static,final,transient,volatile等。選項A錯誤,成員變量不能同時聲明成public和protected。選項B是類的聲明格式,并不是成員變量的聲明。成員變量聲明應以";"結尾,選項D錯誤。選項C聲明了一個私有的double型成員變量,為正確答案。
32.B。【解析】start()方法就可以啟動該線程,線程也就處于可運行狀態Runnable。Start()方法產生了線程運行需要的系統資源,并調用線程體,也就是run()方法,使得線程可以進入運行狀態。程序運行時首先創建一個新的線程對象t,并調用displayOutput(Strings)方法輸出thasbeencreated。t.start()方法調用run()方法,輸出tisrunning,所以正確答案為選項B。
33.C。【解析】本題考查異常的概念。首先應該掌握題目選項中給出的都是什么類型的異常。選項A是當訪問數組中非法元素時引發,出現數組負下標異常。選項B是格式化數字異常。選項C是算術異常,如程序觸發分母為0,或用0取模時出現。選項D是文件已結束異常。當Java執行這個算術表達式的時候,由于求模運算的分母是a-b-d=0,就會構造一個ArithmetieException的異常對象來使程序停下來并處理這個錯誤的情況,在運行時拋出這個異常。默認的處理器打印出Exception的相關信息和發生異常的地點。
34.C。【解析】本題考查關系運算符<和==。題目中a=(3<5);比較3和5的大小,因為3<5,返回true給a;b=(a==true);判斷a是否為真,因為a確實為真,返回true給b;c=(b==false);判斷b是否為假,因為b不為假,返回false給e。最后結果a=true,b=true,b=true,e=false,選項C正確。
35.B。【解析】本題考查for循環和if語句的嵌套以及break語句和continue語句的用法。第1個if語句的意義為:當b>=10時退出for循環,第2個if語句的意義為:如果b%2=1,則b的值加2并退出本次循環。本程.序當b的值分別為l、3、5、7和9的時候執行5次循環,此時a=5,b=9,當執行第6次循環時,a的值為6,但b=11,所以退出循環,程序結束。
36.A。【解析】棧是限定在表的一端進行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。
37.B。【解析】本題考查switch-case-break的用法。每個分支語句后面必須有break語句,否則程序向下執行,直到遇到break語句或程序結束。所以該題i=1時執行easel分支語句,而casel分支語句后沒有break語句,程序繼續向下執行case2分支語句,case2語句后有break語句,故程序不執行default分支語句。
38.B。【解析】本題考查Java中的布局管理器。FlowLayout是Pane和Applet默認的布局管理器,構件在容器中從上到下、從左到右進行放置;BorderLayout是Window、Frame和Dialog的默認布局管理器,在BorderLayout布局管理器中構件分成5個區域,每個區域只能放置一個構件;OridLayout使容器中各個構件呈網狀布局,平均占據容器的空間;GardLayout把容器分成許多層,每層只能放置一個構件。
39.C。【解析】本題考查Java輸入輸出流的概念。FilelnputStream是字節流,BufferedWriter是字符流,ObjectOutputStream是對象輸出流,既繼承了OutputStream抽象類,又實現了0bjectOutput接口,這是Java用接口技術代替雙重繼承的例子,其構造方法參數是串行化的對象。
40.A。【解析】本題考查考生閱讀Java程序的能力。題目程序看似復雜,但流程非常簡單。程序的public類是thtowsExeeption,類中定義了Proe(intsel)方法。程序入口是main()方法,使用try-catch-finally來捕獲ArithmeticExeeption和ArrayIndexOutOfBoundsExeeption異常,這兩個異常是關于算術異常或數組索引越界的異常。執行Proe(0)時,輸出InSituation0和noExceptioncaught兩條信息;執行Proc(1)時,輸出InSituationl和inProcfinally兩條信息。整個程序并未發生異常。
【全國計算機等級考試《二級Java》模擬試題(含答案)】相關文章:
全國計算機二級考試Java模擬試題08-19
計算機二級考試JAVA模擬試題10-12
計算機二級JAVA考試精選模擬試題08-12
2016年計算機考試二級java模擬試題(含答案)09-06
計算機二級JAVA考試模擬試題及答案10-16
2015年全國計算機二級考試Java模擬試題(三)09-21
全國計算機二級考試Java模擬試題(一)答案及解析04-21
2015年全國計算機二級考試Java模擬試題(二)08-25
9月計算機等級考試二級Java試題10-29