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