21.下列各選項(xiàng)中屬于Java保留字的是( )。
A.TRUE
B.NULL
C.FALSE
D.null
22.下列各項(xiàng)中代表八進(jìn)制整數(shù)的是( )。
A.0XA6
B.0144
C.1840
D.-lE3
23.下列代碼的執(zhí)行結(jié)果是( )。
public class Test
{
public static void main(String args[])
{
System.out.println(5/2);
System.OUt.println(100%3.O)
}
}
A.2和1
B.2和1.0
C.2.5和1
D.2.5和1.0
24.char類型被封裝在( )中。
A.java.lang.Integer
B.java.lang.Char
C.java.lang.Boolean
D.java.lang.Character
25.下面代碼段的輸出是( )。
if(5 8L7)0&8L5|2)system.out.println("true");
A.編譯出錯(cuò)
B.5752
C.true
D.無(wú)任何輸出
26.下列關(guān)于內(nèi)部類的說(shuō)法,正確的是( )。
A.內(nèi)部類可以與它包含的類名相同
B.內(nèi)部類只能使用它所在類的靜態(tài)成員變量,不能使用它所在類的方法中的局部變量
C.內(nèi)部類可以用abstract修飾定義為抽象類,不能用private或protected定義
D.外部使用內(nèi)部類時(shí)必須給出類的全名
27.定義一個(gè)表示10個(gè)值為null的字符串?dāng)?shù)組,下面選項(xiàng)正確的是( )。
A.String []a;
B.String a[];
C.char a[l0][];
D.String a[]=new String[10];
28.有一個(gè)接口定義如下,下列選項(xiàng)中實(shí)現(xiàn)了該接口并且不是抽象的是( )。
interface A
{
int methodl(int i);
int method2(int j);
}
A.classBimplementsA B.classB
{ {
int methodl(){) int methodl(inti){)
int method2(){) int method2(intj){)
} }
C.class B implements A D.class B extends A
{ {
int methodl(int i){) int methodl(int i){}
int method2(int j){) int method2(int J){}
} }
29.下面程序段的輸出結(jié)果是( )。
class Base
{
int i;
Base()
{
add(1);
}
void add(int v)
{
i+=v:
}
void print()
{
System.out.println(i);
}
}
class Extension extends Base
{
Extension()
{
add(2);
}
void add(int v)
{
i+=v*2:
}
}
public class Test
{
public static void main(String args[])
{
bogo(new Extension());
}
static void bogo(Base b)
{
b.a(chǎn)dd(8);
b.print();
}
}
A.9 B.18
C.20 D.22
30.通常我們使用( )方法來(lái)為一個(gè)部件注冊(cè)事件監(jiān)聽器。
A.a(chǎn)dd×××Listener
B.×××Listener
C.Listener×××
D.×××Listeneradd
31.下列的( )原始類型在使用流時(shí)可以互換。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
32.下列關(guān)于HTML標(biāo)記的說(shuō)法,正確的是( )。
A.URL getDocumentBase()返回Applet主類的URL
B.URL getCOdeBase()返回包含Applet的HTML文件的URL
C.在HTML中不說(shuō)明String getParameter(stringname)的參數(shù),該方法將返回"0"
D.HTML標(biāo)記方法用于獲取HTML文件中關(guān)于Applet的信息
33.下列關(guān)于Applet的說(shuō)法,正確的是( )。
A.它們能讀/寫用戶的文件系統(tǒng)
B.它們能與提供包含小程序的網(wǎng)頁(yè)的站點(diǎn)之內(nèi)的Internet站點(diǎn)聯(lián)系
C.它們能在閱讀者的系統(tǒng)上運(yùn)行任何程序
D.它們能加載存儲(chǔ)在用戶系統(tǒng)上的程序
34.resume()方法恢復(fù)( )的執(zhí)行。
A.通過(guò)調(diào)用stop()方法而停止的線程
B.通過(guò)調(diào)用sleep()方法而停止運(yùn)行的線程
C.通過(guò)調(diào)用wait()方法而停止運(yùn)行的線程
D.通過(guò)調(diào)用suspend()方法而停止運(yùn)行的線程
35.下列方法中能完成主類實(shí)例初始化工作的是( )。
A.start()
B.stop()
C.ink()
D.paint()
36.下面的( )關(guān)鍵字通常用來(lái)對(duì)對(duì)象加鎖,從而使得對(duì)對(duì)象的訪問(wèn)是排他的。
A.serialize
B.transient
C.synchronized
D.static
37.下列程序中,若從鍵盤中輸入的是大寫字母C,則程序輸出的結(jié)果是( )。
Importjava.io.*;
public class Exam{
public static void main(String args[]){
int ch=0;
System.out.println("輸入一個(gè)字符:");
try{
ch=System.in.read();
charch_A=’A’,ch_Z=’Z’;
int delta c=(int)ch A+(int)ch Z-ch;
syStem. out.println("編碼后的字符為:"+(char)delta_c);
}
catch(IOException e){
e.printStackTrace();
}
}
}
A.C
B.Y
C.X
D.字母C的ASCIl碼的整型值
38.下面的程序執(zhí)行后,屏幕上顯示的應(yīng)是( )。
public class Exam{
public static void main(String[]args){
char charl[]=(’t’,’e’,’s’,’t’};
char char2[]=(’t’,’e’,’s’,’t’,’l’};
String sl=newString(charl);
String s2=newString(char2,0,4);
System.out.println(sl.equals(s2));
}
}
A.true
B.false
C.test
D.編譯錯(cuò)誤
39.以下( )命令能為遠(yuǎn)程對(duì)象生成stub和skeleton。
A.rmiregistry
B.serialver
C.rmic
D.rmid
40.Java程序與數(shù)據(jù)庫(kù)的連接機(jī)制是( )。
A.ODBC
B.JDBC
C.ODBCAPI
D.SQL/CLI
21.D?!窘馕觥吭贘ava中,常量null、false、true都是小寫的。所以A、B和C選項(xiàng)中的字符串都不是Java的保留字。
22.B?!窘馕觥縅ava語(yǔ)言中八進(jìn)制整數(shù)為整型常量中的一種,以0開始,后加數(shù)字0~7組成。故只有B選項(xiàng)0144符合要求。
23.B?!窘馕觥坑捎?和2都是int型,所以語(yǔ)句System.out.println(5/2)的輸出為2。由于操作數(shù)3.0為double型(Java語(yǔ)言中浮點(diǎn)數(shù)的默認(rèn)值為double型),所以結(jié)果為double型,即1.0。
24.D?!窘馕觥縅ava語(yǔ)言中,char類型被封裝在java.lang.Character中。
25.A?!窘馕觥勘绢}考查對(duì)位運(yùn)算符和邏輯運(yùn)算符的理解。位運(yùn)算符”&”和”|¨用于按位將兩個(gè)數(shù)進(jìn)行與和或的操作,兩個(gè)操作數(shù)可以是整型、字節(jié)型、長(zhǎng)整型和短整型,但不能是浮點(diǎn)型數(shù)據(jù)。邏輯運(yùn)算符&&只能對(duì)兩個(gè)布爾型的數(shù)據(jù)進(jìn)行運(yùn)算,返回的結(jié)果也是布爾型的。
26.D?!窘馕觥勘绢}考查內(nèi)部類的概念。在一個(gè)類的內(nèi)部嵌套定義的類稱為內(nèi)部類,它的類名在定義它的類或程序段中或在表達(dá)式內(nèi)部可以匿名使用,外部使用它時(shí)必須給出類的全名,所以選項(xiàng)D說(shuō)法正確;內(nèi)部類的類名不允許與它包含的類名相同,選項(xiàng)A說(shuō)法錯(cuò)誤;內(nèi)部類可以使用它所在類的靜態(tài)成員變量和實(shí)例成員變量,也可以使用它所在類的方法中的局部變量,選項(xiàng)B說(shuō)法錯(cuò)誤;內(nèi)部類不僅可以用abstract修飾定義為抽象類,也可用private或protected定義,選項(xiàng)C說(shuō)法錯(cuò)誤。同時(shí)還要注意,內(nèi)部類可作為其他類的成員,而且可訪問(wèn)它所在類的成員,除static內(nèi)部類外,不能在類中聲明static成員。
27.D?!窘馕觥勘绢}考查字符串?dāng)?shù)組變量的聲明。選項(xiàng)A和選項(xiàng)B的效果是一樣的,都是用來(lái)定義一個(gè)字符串?dāng)?shù)組,但沒有指明數(shù)組個(gè)數(shù),不滿足題目要求;選項(xiàng)C是一個(gè)二維的字符數(shù)組,在C語(yǔ)言中,一個(gè)二維的字符數(shù)組就可以表示一個(gè)一維的字符串?dāng)?shù)組,而在Java中,字符char是基本類型,字符串String則是以對(duì)象的形式來(lái)表示的;選項(xiàng)D正確,它定義了一個(gè)含有l(wèi)0個(gè)元素的字符串?dāng)?shù)組,如果沒有給字符串?dāng)?shù)組賦值,則默認(rèn)為null。
28.C?!窘馕觥勘绢}考查在Java中接口的實(shí)現(xiàn)。接口是一種只含有抽象方法或變量的特殊的抽象類。在類的聲明中用implements子句來(lái)表示一個(gè)類使用某個(gè)接口。選項(xiàng)A在方法內(nèi)沒有參數(shù)值;選項(xiàng)B只是定義了一個(gè)類,并沒有實(shí)現(xiàn)與A的接口;選項(xiàng)C中使用關(guān)鍵字implements實(shí)現(xiàn)了該接口,這里接口中的方法并沒有使用abstract修飾,所以不是抽象的;選項(xiàng)D中extends是用來(lái)繼承父類的,而A并不是一個(gè)類,不能用extends.
29.D?!窘馕觥勘绢}考查繼承和構(gòu)造函數(shù)的用法。首先要明確對(duì)一個(gè)類的繼承是指在父類的基礎(chǔ)上構(gòu)建了一個(gè)子類,子類繼承了父類的方法和狀態(tài)。題目所給程序段創(chuàng)建的是Extension類的實(shí)例,在運(yùn)行時(shí),從main()函數(shù)進(jìn)入程序,所有調(diào)用add()方法的過(guò)程將始終和Extension類的add()方法動(dòng)態(tài)綁定。初始值:i=0;創(chuàng)建實(shí)例newExtension();先調(diào)用父類的默認(rèn)構(gòu)造函數(shù)Base(),并在父類的默認(rèn)構(gòu)造函數(shù)中執(zhí)行add(1),i=O+1×2,所以i=2,再調(diào)用子類的默認(rèn)構(gòu)造函數(shù)Extension(),子類的默認(rèn)構(gòu)造函數(shù)中執(zhí)行add
(2),i-2+2×2,所以i=6;執(zhí)行add(8);i=6+8×2,因此,最終i=22,正確答案為選項(xiàng)D。
30.A?!窘馕觥勘绢}考查事件監(jiān)聽器的概念。每類事件都有對(duì)應(yīng)的事件監(jiān)聽器,監(jiān)聽器是接口,根據(jù)動(dòng)作來(lái)定義方法。AWT的構(gòu)件類中提供注冊(cè)和注銷監(jiān)聽器的方法。注冊(cè)監(jiān)聽器:public void add(listener);注銷監(jiān)聽器:public void remove(listener)。由此可見,選項(xiàng)A正確。
31.B?!窘馕觥勘绢}考查Java語(yǔ)言中字節(jié)類型的概念。在Java語(yǔ)言中,byte是字節(jié)類型,用1字節(jié)表示;boolean是布爾類型,用true和false表示,它們的表示方法并不一樣,
也不提供它們之間的轉(zhuǎn)換,選項(xiàng)A錯(cuò)誤。Java內(nèi)部用整數(shù)來(lái)表示char,通??梢栽诜椒ㄕ{(diào)用和其他語(yǔ)句中互換使用char和int,選項(xiàng)B正確。char用2字節(jié)表示,byte字節(jié)類型
用1字節(jié)表示,Java內(nèi)部也不允許互換使用它們,選項(xiàng)C錯(cuò)誤。String在Java語(yǔ)言中是一個(gè)類,它提供對(duì)字符串的一系列操作,而char是Java語(yǔ)言中的一個(gè)基本類型,它不是一個(gè)類,兩者有本質(zhì)的區(qū)別,故而它們是不能互換使用的,選項(xiàng)D錯(cuò)誤。需要注意的是,在Java語(yǔ)言中提供的類都是以大寫字母開頭,基本類型都用小寫字母表示。
32.D。【解析】本題考查Applet中HTML標(biāo)記方法。 URLgetDocumentBase()返回包含Applet的HTML文件的 URL,而不是返回Applet主類的URL,選項(xiàng)A錯(cuò)誤。 URLgetC0deBase()返回Applet主類的URL,而環(huán)是返回 包含Applet的HTML文件的URL,選項(xiàng)B錯(cuò)誤。String
getParameter(stringname)返回定義在HTML文件的指定參數(shù),如果指定參數(shù)在HTML中無(wú)說(shuō)明,該方法將返回"null",而不是"0",因此選項(xiàng)C錯(cuò)誤。
33.B?!窘馕觥勘绢}考查Java小程序(Applet)安全限制的概念。因?yàn)镴ava小程序運(yùn)行在Web用戶的系統(tǒng)上,所以對(duì)小程序所能完成的工作有一些嚴(yán)格的限制。它們不能讀/寫用戶的文件系統(tǒng),選項(xiàng)A說(shuō)法錯(cuò)誤。它們不能與提供包含小程序的網(wǎng)頁(yè)的站點(diǎn)之外的Internet站點(diǎn)聯(lián)系,選項(xiàng)B說(shuō)法正確。它們不能在閱讀者的系統(tǒng)上運(yùn)行任何程序,選項(xiàng)C說(shuō)法錯(cuò)誤。它們不能加載存儲(chǔ)在用戶系統(tǒng)上的程序,如可執(zhí)行程序和共享庫(kù)。所有這些規(guī)則適用于運(yùn)行在瀏覽器下的Java小程序,選項(xiàng)D說(shuō)法錯(cuò)誤。
34.D。【解析】本題考查resume()方法的使用。在Thread的API文檔中的說(shuō)明是該方法恢復(fù)被掛起(suspende())的線程。該方法首先調(diào)用該線程的無(wú)參的checkAccess()方法,這可能在當(dāng)前線程上拋出SecurityExeeption異常,如果該線程是活著的(alive)但被掛起(suspend()),它被恢復(fù)并繼續(xù)它的執(zhí)行進(jìn)程。
35.C。【解析】本題考查對(duì)Applet必須要重載的幾個(gè)方法的理解。選項(xiàng)A錯(cuò)誤,start()方法使得程序從初始態(tài)進(jìn)入運(yùn)行態(tài),當(dāng)瀏覽器從圖標(biāo)狀態(tài)恢復(fù)為窗口時(shí),或者當(dāng)用戶離開包含Applet的主頁(yè)后又再返回時(shí),系統(tǒng)都會(huì)自動(dòng)再執(zhí)行一遍start()方法。選項(xiàng)B錯(cuò)誤,stop()方法是和start()方法相對(duì)應(yīng)的,當(dāng)瀏覽器變成圖標(biāo)或者是用戶離開Applet所在頁(yè)面時(shí),瀏覽器都會(huì)調(diào)用stop()方法,該方法也是可以被多次調(diào)用的。選項(xiàng)C正確,當(dāng)創(chuàng)建JavaApplet且第一次使用支持Java的瀏覽器載入該Applet時(shí),就會(huì)執(zhí)行init()方法,通常在這方法中執(zhí)行一次性的初始化操作。選項(xiàng)D錯(cuò)誤,paint()方法是畫圖時(shí)必須要重載的方法。
36.C?!窘馕觥勘绢}考查Java中對(duì)象加鎖的概念。Java是多線程的語(yǔ)言,多個(gè)線程可以”同時(shí)”訪問(wèn)同一數(shù)據(jù)區(qū),而在處理某些數(shù)據(jù)時(shí)不希望其他的線程修改那些數(shù)據(jù)的值或者某些操作是不可打斷的,要做到這個(gè),可以使用synchronized關(guān)鍵字聲明這一點(diǎn)。
37.C?!窘馕觥勘绢}考查考生閱讀Java程序的能力。當(dāng)使用h=System.in.read()語(yǔ)句從鍵盤讀入大寫字母C賦給ch,此時(shí)ch值為67,也就是字母C的ASCIl值。語(yǔ)句(int)
ch_A+(int)ch_Z-ch結(jié)果為88,ASCIl碼中的88相當(dāng)于字母X,所以輸出為X,選項(xiàng)C正確。
38.A。【解析】本題考查考生對(duì)字符數(shù)組的理解。首先可以通過(guò)字符數(shù)組來(lái)生成一個(gè)字符串對(duì)象:String(char[]value)和String(char[]value,int startlndex,int numChars).
其中,startlnde峭定字符串在數(shù)組中的起始下標(biāo),num-Chars表示字符個(gè)數(shù)。然后再測(cè)試字符串是否相等,可調(diào)用equals()方法,兩個(gè)字符串相等則返回true,否則返回false。
題目中sl和s2都是"test",所以最后返回是true,選項(xiàng)A正確。
39.C。【解析】本題考查J2SDK的RMl命令。rmiregistry命令是在當(dāng)前主機(jī)的指定端口上啟動(dòng)遠(yuǎn)程對(duì)象注冊(cè)服務(wù)程序;serialver命令是返回serialVersionUID的值;rmic命令為遠(yuǎn)程對(duì)象生成stub和skeleton;rmid命令可以激活系統(tǒng)守候進(jìn)程,以便能夠在Java虛擬機(jī)上注冊(cè)和激活對(duì)象。
40.B。【解析】本題考查Java程序與數(shù)據(jù)庫(kù)的連接。JDBC(Java Data Base Connectivity)是Java程序與數(shù)據(jù)庫(kù)連接的一種機(jī)制。在Java虛擬機(jī)中有個(gè)特殊模塊JDBC Driver Manager,既負(fù)責(zé)管理針對(duì)各種類型數(shù)據(jù)庫(kù)軟件的JDBC驅(qū)動(dòng)程序,也負(fù)責(zé)和用戶應(yīng)用程序交互。