電大Java語言和WWW技術階段測驗答案_第1頁
電大Java語言和WWW技術階段測驗答案_第2頁
電大Java語言和WWW技術階段測驗答案_第3頁
電大Java語言和WWW技術階段測驗答案_第4頁
電大Java語言和WWW技術階段測驗答案_第5頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

-.z.單選題:(共28道試題,每題2分)1.Java語言具有許多優(yōu)點和特點,下列選項中,哪個反映了Java程序并行機制的特點?

A.安全性

B.多線程

C.跨平臺

D.可移植2.關于Java基本語法機制,以下選項中哪個與C++不同?

A.類

B.接口(interface)

C.自動內存回收

D.多線程

E.各選項全是3.關于垃圾收集的哪些敘述是正確的?

A.程序開發(fā)者必須自己創(chuàng)建一個線程進行內存釋放的工作。

B.垃圾收集將檢查并釋放不再使用的內存。

C.垃圾收集允許程序開發(fā)者明確指定并立即釋放該內存。

D.垃圾收集能夠在期望的時間釋放被java對象使用的內存。4.下面哪一個特性不是面向對象編程主要體現(xiàn)的特性?

A.封裝性

B.繼承

C.多態(tài)

D.類5.讀程序,以下運行結果描述中哪一個是正確的?

publicclassTest{

publicstaticvoidmain(Stringargs[]){

staticint*[]=newint[15];

System.out.println(*[5]);

}

}

A.有編譯錯誤。

B.有運行錯誤。

C.可以編譯和運行,結果為0。

D.可以編譯和運行,結果為null。6.若所用變量都已正確定義,下列選項中,非法的表達式是哪個?

A.a=1/2

B.a+32

C.!a%3

D.a!=4||b==17.設有定義

int

i=123;

long

j=456;

下面賦值不正確的語句是哪一個?

A.j=i;

B.j=(long)i;

C.i=j;

D.i=(int)j;

8.下列的哪個賦值語句是錯誤的?

A.floatf=11.1

B.doubled=5.3E12

C.doubled=3.14159

D.int

i=39.下列選項中,合法的賦值語句是哪個?

A.a==1;

B.++i;

C.a=a+1=5;

D.y=int(i);

10.下列選項中哪個是將一個十六進制值賦值給一個long型變量?

A.longnumber=345L;

B.longnumber=0345;

C.longnumber=0345L;

D.longnumber=0*345L;11.下列語句序列執(zhí)行后,a的值是多少?

inta=13;

a%=a/5;

A.1

B.3

C.13

D.16912.現(xiàn)有整型數(shù)組a,它有10個元素,為了打印輸出它的第9個數(shù)組元素,下面正確的代碼是哪個?

A.System.out.println(a[8]);

B.System.out.println(a[9]);

C.System.out.println(a[10]);

D.System.out.println(a[a.length-1]);13.以下標識符中,哪個是無效的標識符?

A.IDoLikeTheLongNameClass

B.$byte

C.ok

D.const14.以下聲明合法的是哪一個?

A.default

String

s

B.public

final

static

int

w()

C.abstract

double

d

D.abstract

final

double

hyperbolicCosine()15.編譯運行以下程序后,關于輸出結果的說明正確的是哪一個?

public

class

Conditional{

public

static

void

main(String

args[

]){

int

*=4;

System.out.println("value

is

"+((*>4)"99.9:9));

}

}

A.輸出結果為:value

is

99.99

B.輸出結果為:value

is

9

C.輸出結果為:value

is

9.0

D.編譯錯誤16.若有定義

int

a=2;

則執(zhí)行完語句

a-=a*a;

后,a的值是多少?

A.0

B.4

C.-2

D.-417.設a、b、c、d為已賦值的int型變量,下列表達式的結果屬于非邏輯值的是哪個?

A.a!=b&c%d<a

B.a++==a+b+c+d

C.++a*b--+d

D.a+b>=c+d18.下列程序段執(zhí)行后c的結果是多少?

inta=9,b=11,c;

c=a!=b"a+b:a-b;

A.–2

B.20

C.11

D.919.下列程序段執(zhí)行后y的結果是哪個?

int

*1=9,

*2=6,

y;

y=(++*1!=*2++)"(*1+*2):(*1-*2);

A.15

B.9

C.17

D.320.下列語句執(zhí)行后,變量a、變量c的值分別是多少?

int*=182;

inta,c;

c=*/100;

a=*%10;

A.1,2

B.2,1

C.1.82,2

D.100,82

21.執(zhí)行下列程序段后,b,*,y的值分別是多少?

int

*=6,y=8;

boolean

b;

b=*>y&&++*==--y;

A.true,6,8

B.true,7,7

C.false,6,8

D.false,7,722.給出下面的代碼:

if(*>10){System.out.println("first");}

elseif(*>0){System.out.println("second");}

else{System.out.println("third");}

*的取值在什么*圍內時將打印字符串"second""

A.*>10|*<0

B.*<=10&*>0

C.*<=0

D.*>023.結構化程序設計所規(guī)定的三種基本控制結構是哪一組?

A.輸入、處理、輸出

B.樹形、網(wǎng)形、環(huán)形

C.順序、選擇、循環(huán)

D.主程序、子程序、函數(shù)24.下列語句序列執(zhí)行后,k的值是多少?

inti=6,j=8,k=10,n=5,m=7;

if(i<j&&m<n)k++;elsek--;

A.9

B.10

C.11

D.1225.以下選項中循環(huán)結構合法的是哪一個?

A.while(int

i<7)

{

i++;

System.out.println(“iis“+i);

}

B.int

j=3;

while(j){

System.out.println(“j

is“+j);

}

C.int

j=0;

for(int

k=0;j+k!=10;j++,k++){

System.out.println(“j

is“+j+“k

is”+k);

}

D.int

j=0;

do{

System.out.println(“j

is“+j++);

if(j==3){continue

loop;}

}while

(j<10);26.下面代碼執(zhí)行后,正確的輸出結果是哪一個?

publicclassE*cmple{

publicstaticvoidmain(Stringargs[]){

inti=0;

do{

System.out.println("Doingitforiis:"+i);

}while(--i>0);

System.out.println("Finish");

}

}

A.Doingitforiis0

B.Doingitforiis1

C.Doingitforiis2

D.Doingitforiis327.以下是應用程序中定義的靜態(tài)方法printBinary,若在其main方法中有方法調用語句printBinary(2),則輸出的結果是哪個?

staticvoidprintBinary(inti){

System.out.print(i+"的2進制數(shù)表示為:");

for(intj=31;j>=0;j--)

if(((1<<j)&

i)!=0)

System.out.print("1");

else

System.out.print("0");

System.out.println();

//換行

}

A.0000

B.0001

C.0010

D.111128.執(zhí)行以下程序,輸出是什么?

publicclassTest{

voidprintValue(intm){

do{

System.out.println("Thevalueis"+m);

}while(--m>10);

}

publicstaticvoidmain(Stringargs[]){

inti=10;

Test

t=newTest();

t.printValue(i);

}

}

A.Thevalueis8

B.Thevalueis9

C.Thevalueis10

D.Thevalueis11多選題:(共6道試題,每題2分)1.Java開發(fā)包括下列哪幾部分?

A.Java2EE

B.Java2ME

C.Java2SE

D.Java2CE2.以下描述中哪些不是Java關鍵字?

A.TRUE

B.sizeof

C.const

D.super3.在JavaAPI文檔中下面的哪些部分被包括在內?

A.類及用途的描述

B.父類的方法的列表

C.成員變量的列表

D.類層次4.變量"result"是一個boolean型的值,下面的哪些表達式是合法的?

A.result=true;

B.if(result){...}

C.if(result!=0){...}

D.result=1

5.下面哪些是合法的標識符

A.*point

B.$persons

C.TwoUsers

D.

_endline

6.給出下面的代碼片斷:

1)

switch(m)

2)

{

case0:System.out.println("case0");

3)

case1:System.out.println("case1");break;

4)

case2:

5)

default:System.out.println("default");

6)

}

m為何值時輸出值將會為“default”。

A.0

B.1

C.2

D.3判斷題:(共9道試題,每題2分)1.調用System.gc()方法不能保證JVM立即進行垃圾收集,而只能是建議。

正確

錯誤2.類加載器加載程序運行所需要的所有類,它通過區(qū)分本機文件系統(tǒng)的類和網(wǎng)絡系統(tǒng)導入的類增加安全性。

正確

錯誤3.Java數(shù)組的長度只在構造(創(chuàng)建)數(shù)組時指定,而在聲明數(shù)組時不能指定。

正確

錯誤4.main()方法前的public修飾符、static修飾符均是必須的。

正確

錯誤5.局部變量在定義該變量的方法被調用時被創(chuàng)建,而在該方法退出后被撤銷,其生存期和定義該變量的方法的生存期相同。

正確

錯誤6.數(shù)組元素沒有進行顯式賦值,系統(tǒng)根據(jù)數(shù)組聲明的數(shù)據(jù)類型自動進行默認初始化。

正確

錯誤7.一個源文件可以不包含任何代碼定義,即是一個空文件,編譯時不會產生錯誤。

正確

錯誤8.一個源文件中,如果沒有public類,則源文件名不必與源文件中其它類名一致。

正確

錯誤9.源文件命名可以依照Java語言標識符定義規(guī)定。

正確

錯誤單選題:(共28道試題,每題2分)1.編譯JavaApplication源程序文件將產生相應的字節(jié)碼文件,擴展名為哪一個?

A.java

B.class

C.html

D.e*e2.關于Java基本語法機制,以下選項中哪個與C++相同?

A.數(shù)據(jù)類型

B.程序流程控制

C.結構化

D.異常處理

E.其他選項全是3.下列關于Java語言的特點,描述錯誤的是哪一個?

A.Java是跨平臺的編程語言

B.Java支持分布式計算

C.Java是面向過程的編程語言

D.Java支持多線程4.下述概念中不屬于面向對象方法的是哪一組?

A.對象、消息

B.繼承、多態(tài)

C.類、封裝

D.過程調用5.哪個表達式是聲明一個含有10個String對象的數(shù)組?

A.charstr[]=newchar[10];

B.charstr[10];

C.Stringstr[]=newString[10];

D.Stringstr[10];6.設*=1,y=2,z=3,則表達式y(tǒng)+=z--/++*的值是哪一個?

A.3

B.3.5

C.4

D.57.為了定義三個整型數(shù)組a1、a2、a3,下面聲明正確的語句是哪組?

A.intArray[]a1,a2;

inta3[]={1,2,3,4,5};

B.int[]a1,a2;

inta3[]={1,2,3,4,5};

C.inta1,a2[];

inta3={1,2,3,4,5};

D.int[]a1,a2;

inta3=(1,2,3,4,5);8.下列的哪個聲明是合法的?

A.longl=4990;

B.int

i=4L;

C.floatf=1.1;

D.doubled=34.4D;

9.下列選項中哪個答案可以用來表示八進制值“8”?

A.010

B.0*10

C.08

D.0*810.下列選項中哪一個是表達式1+2+"aa"+3的值?

A."12aa3"

B."3aa3"

C."12aa"

D."aa3"11.現(xiàn)有一變量聲明為booleanaa;下列賦值語句中正確的是哪個?

A.aa=false;

B.aa=False;

C.aa="false";

D.aa=0;12.以下標識符哪些是合法的?

A.$persons

B.const

C.*point

D.this13.以下哪些是將一個八進制值賦值給一個long型變量?

A.longnumber=345L;

B.longnumber=345;

C.longnumber=0345L;

D.longnumber=0*345L;14.以下選項中的變量都已正確定義,不合法的表達式是哪個?

A.a>=4==b<1

B.n-3

C.a=8

D.A%615.對于一個三位的正整數(shù)n,取出它的十位數(shù)字k(k為整型)的表達式是哪個?

A.k=n/10

B.k=n%10

C.k=n/10%10

D.k=(n-n/100*100)%1016.若有定義

int

a=2;

則執(zhí)行完語句

a+=a-=a*a;

后,a的值是多少?

A.-4

B.0

C.4

D.817.下列程序段執(zhí)行后b3的結果是多少?

boolean

b1=true,b2=true,b3;

b3=!b1"b1:!b2;

A.0

B.1

C.true

D.false18.下列程序段執(zhí)行后t5的結果是多少?

int

t1=9,t2=11,t3=8;

int

t4,t5;

t4=t1>t2"t1:t2+t1;

t5=t4>t3"t4:t3;

A.8

B.20

C.11

D.919.下列哪個表達式的值是*和y的最大值?

A.

*>y"y:*

B.*<y"y:*

C.*==y"y:*

D.*>y"(*+y):(*-y)20.有一聲明語句為booleant;下面賦值語句中t的值為false的是哪個?

A.t=5>3;

B.t=!false;

C.t=(true|false);

D.t=(2==3)"true:false;21.執(zhí)行下列程序段后,m,*,y的值分別是多少?

int

*=2,y=4;

boolean

m;

m=++*>y--;

A.true,2,4

B.true,3,3

C.false,2,4

D.false,3,322.給出下面的代碼:

if(*>0){System.out.println("first");}

elseif(*>-3){System.out.println("second");}

else{System.out.println("third");}

*的取值在什么*圍內時將打印字符串"second"。

A.*>0

B.*>-3

C.*<=-3

D.*<=0&*>-323.下列關于for循環(huán)和while循環(huán)的說法中哪個是正確的?

A.while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn)

B.while循環(huán)判斷條件一般是程序結果,for循環(huán)判斷條件一般是非程序結果

C.兩種循環(huán)任何時候都可替換

D.兩種循環(huán)結構中都必須有循環(huán)體24.下列語句序列執(zhí)行后,*的值是多少?

inta=3,b=4,*=5;

if(++a<b)*=*+1;

A.3

B.4

C.5

D.625.給出下面的代碼:

publicclassTest{

voidprintValue(intm){

do{System.out.println("Thevalueis"+m);

}while(--m>8)

}

publicstaticvoidmain(Stringarg[]){

inti=10;

Testt=newTest();

t.printValue(i);

}

}

輸出將是什么?

A.Thevalueis10

Thevalueis8

B.Thevalueis9

Thevalueis8

C.Thevalueis10

Thevalueis9

D.Thevalueis11

Thevalueis1026.下面代碼執(zhí)行后,正確的輸出結果是哪一個?

publicclassE*cmple{

publicstaticvoidmain(Stringargs[]){

inti=0;

do{

System.out.println("Doingitforiis:"+i);

}while(--i>0);

System.out.println("Finish");

}

}

A.Doingitforiis0

B.Doingitforiis1

C.Doingitforiis2

D.Doingitforiis327.以下程序運行時,哪一行會產生編譯錯誤?

1)

publicvoidmodify(){

2)

inti,j,k;

3)

i=100;

4)

while(i>0){

5)

j=i*2;

6)

System.out.println("Thevalueofjis"+j);

7)

k=k+1;

8)

i--;

9)

}

10)

}

A.line5

B.line6

C.line7

D.line828.執(zhí)行以下程序,哪一行將出錯?

1)

Stringstr=null;

2)

if((str!=null)&&(str.length()>10)){

3)

System.out.println("morethan10");

4)

}

5)

elseif((str!=null)&(str.length()<5)){

6)

System.out.println("lessthan5");

7)

}

8)

else{System.out.println("end");}

A.第1行

B.第2行

C.第5行

D.第8行多選題:(共6道試題,每題2分)1.下面有關Java代碼安全性的敘述哪些是正確的?

A.字節(jié)碼校驗器加載查詢執(zhí)行需要的所有類。

B.運行時解釋器執(zhí)行代碼。

C.在運行時,字節(jié)碼被加載,驗證然后在解釋器里面運行。

D.類加載器通過分離本機文件系統(tǒng)的類和從網(wǎng)絡導入的類增加安全性。2.以下描述中哪些不是Java關鍵字?

A.TRUE

B.sizeof

C.const

D.super3.以下哪些是字節(jié)碼校驗器進行校驗的內容?

A.類是否符合JVM規(guī)*的類文件格式

B.有沒有違反訪問限制

C.所有操作代碼的參數(shù)類型是否正確

D.有沒有非法的數(shù)據(jù)類型轉換

E.代碼有沒有造成堆棧的上溢或者下溢4.下面關于變量的描述哪些是正確的?

A.實例變量是類的成員變量。

B.實例變量用關鍵字static聲明。

C.在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)建。

D.局部變量在使用前必須被初始化。5.下面有關變量及其作用域的描述哪些是正確的?

A.在方法里面定義的局部變量在方法退出的時候被撤銷。

B.局部變量也叫自動變量。

C.在方法外面定義的變量(即實例變量)在對象被構造時創(chuàng)建。

D.在方法中定義的參變量也是方法的局部變量。6.給出下面的代碼片斷:

1)

switch(m)

2)

{

case0:System.out.println("case0");

3)

case1:System.out.println("case1");break;

4)

case2:

5)

default:System.out.println("default");

6)

}

m為何值時輸出值將會為“default”。

A.0

B.1

C.2

D.3判斷題:(共9道試題,每題2分)1.垃圾收集的過程在Java程序的生存期中是自動的,不需要分配和釋放內存,也避免了內存泄漏。

正確

錯誤2.類加載器加載程序運行所需要的所有類,由網(wǎng)絡系統(tǒng)導入的指定類總是先被加載。

正確

錯誤3.Java中所有參數(shù)的傳遞都采用值傳遞方式,即當傳遞一個參數(shù)到方法中時方法獲得的是傳遞參數(shù)的副本。

正確

錯誤4.成員變量和局部變量由于其所屬對象生命周期不同,生存周期也不同。

正確

錯誤5.如果在一個源文件中存在兩個或兩個以上public類定義,則會產生運行錯誤。

正確

錯誤6.一個源文件可以包含多個類。

正確

錯誤7.一個源文件只能包含一個public類。

正確

錯誤8.用來指定數(shù)組長度的數(shù)據(jù)類型只能是int類型。

正確

錯誤9.在源文件中,如果存在一個public類定義,則源文件名必須與public類名一致。

正確

錯誤JavaApplication與JavaApplet的區(qū)別JavaApplet與JavaApplication的主要區(qū)別在于其運行環(huán)境與執(zhí)行方式的不同Application是獨立完整的程序,Application的主類中必須有一個main()方法。這個方法是JavaApplication的標志,也是JavaApplication程序執(zhí)行的入口Applet是在瀏覽器中運行的,必須創(chuàng)建一個HTML文件,通過編寫HTML語言代碼告訴瀏覽器載入何種Applet以及如何運行Java解釋器Java解釋器是指“java.e*e”,Java解釋器負責將Java虛擬機的代碼.class程序在特定的平臺上運行。簡述局部變量的概念局部變量是指方法或語句塊內部定義的變量。局部變量的作用域就是它所在的方法或語句塊,在程序調用方法(進入語句塊)時,局部變量才被創(chuàng)建并可用,隨方法(語句塊)的退出,局部變量將被銷毀。簡述Java語言的基本數(shù)據(jù)類型Java語言中定義了四類/八種基本數(shù)據(jù)類型整型——byte,short,int,long浮點型——float,double字符型——char邏輯型(布爾型)——boolean簡述Java編譯器Java編譯器是指“javac.e*e”,是將.java文件編譯成.class字節(jié)碼文件,Java編譯器針對Java虛擬機產生class文件,因此是獨立于平臺的。簡述Java的三種核心機制Java虛擬機垃圾收集機制代碼安全性檢測簡述成員變量的概念成員變量是指方法外部、類的內部定義的變量。成員變量在類的定義中聲明,在創(chuàng)建對象的同時創(chuàng)建有關的成員變量。成員變量創(chuàng)建后系統(tǒng)自動對其進行默認初始化和顯式初始化。成員變量依附于對象(局部變量)存在,具有與對象相同的生存期和作用域。簡述Java語言的引用數(shù)據(jù)類型的概念Java語言中除8種基本數(shù)據(jù)類型以外的數(shù)據(jù)類型稱為引用類型。引用類型數(shù)據(jù)以對象的形式存在。引用類型變量的值是*個對象的存儲地址,而不是對象本身。單選題:(共20道試題,每題2分)1.main()方法的返回類型是什么?

A.int

B.void

C.boolean

D.static2.讀程序,哪一行將產生錯誤?

1)

classParent{

2)

privateStringname;

3)

publicParent(){}

4)

}

5)

publicclassChilde*tendsParent{

6)

privateStringdepartment;

7)

publicChild(){}

8)

publicStringgetValue(){returnname;}

9)

publicstaticvoidmain(Stringarg[]){

10)

Parentp=newParent();

11)

}

12)}

A.第2行

B.第6行

C.第8行

D.第10行3.讀程序,以下描述中正確的是哪一個?

publicclassTest{

privateint*;

publicstaticvoidmain(Stringargs[]){

*=2;

}

}

A.將“privateint*”修改為“publicint*”,則*=2語句合法。

B.將“privateint*”修改為“staticint*”,則*=2語句合法。

C.將“privateint*”修改為“finalint*”,則*=2語句合法。

D.程序可以正常編譯和運行。4.下面程序段執(zhí)行后b的值是多少?

Stringstr="java";

booleanb=str

instanceof

String;

A.0

B.1

C.true

D.false

5.以下對Test類的定義中,哪種定義使Test類不能有子類?

A.classTest{}

B.abstractfinalclassTest{}

C.classTest{final;}

D.finalclassTest{}6.以下訪問控制修飾符中僅允許同包中進行訪問,不允許不同包訪問的是哪一個?

A.public

B.private

C.protected

D.缺省訪問模式7.以下訪問控制修飾符中允許不在同一個包中的子類訪問父類?

A.public

B.private

C.protected

D.缺省訪問模式8.以下修飾符中不是訪問控制修飾符的是哪一個?

A.public

B.private

C.static

D.protected9.以下修飾符中哪一個用來定義類后,該類不能有子類?

A.public

B.final

C.static

D.abstract10.執(zhí)行以下程序,運行結果是什么?

publicclassPerson{

intarr[]=newint[10];

publicstaticvoidmain(Stringa[]){

System.out.println(arr[1]);

}

}

A.輸出為0。

B.輸出為null。

C.編譯時將發(fā)生錯誤。

D.編譯正確,但是運行時出錯。

11.讀程序,以下運行結果描述正確的是哪一個?

classTest{

publicfinalvoidamethod(){

System.out.println("inamethod()!");

}

}

publicclassTest722e*tendsTest{

publicstaticvoidmain(Stringargs[]){

Testt=newTest();

t.amethod();

}

}

A.編譯出錯,Test類應是public修飾的類。

B.編譯出錯,amethod()方法是final的,在Test722類中不能直接調用。

C.編譯通過,但是運行出錯。

D.運行結果為:“inamethod()!”。12.以下關于本地方法的聲明中哪一個是正確的?

A.publicnativevoidtest();

B.publicnativevoidtest(){}

C.publicvoidnativetest()

D.publicnativetest(){}

13.不符合方法重寫規(guī)則的是哪個?

A.方法重寫發(fā)生在類繼承時。

B.子類可以重寫一個父類中已有的方法。

C.重寫的方法與被重寫的方法返回值類型必須一致。

D.重寫的方法與被重寫的方法參數(shù)列表必須不同。14.第10行的聲明將調用哪一行的方法?

1)

classPerson{

2)

publicvoidprintValue(inti,intj){/*…*/}

3)

publicvoidprintValue(inti){/*...*/}

4)

}

5)

publicclassTeachere*tendsPerson{

6)

publicvoidprintValue(){/*...*/}

7)

publicvoidprintValue(inti){/*...*/}

8)

publicstaticvoidmain(Stringargs[]){

9)

Persont=newTeacher();

10)

t.printValue(10);

11)

}

12)}

A.第2行

B.第3行

C.第6行

D.第7行15.讀程序,下面的哪些表達式可以加入printValue()方法的“//同父類中…”部分,并滿足注釋中的要求"

classPerson{

Stringname,department;

publicvoidprintValue(){

System.out.println("nameis"+name);

System.out.println("departmentis"+department);

}

}

publicclassTeachere*tendsPerson{

intsalary;

publicvoidprintValue(){

//同父類中printValue()方法的內容,需要顯示name和department的值。

System.out.println("salaryis"+salary);

}

}

A.printValue();

B.this.printValue();

C.person.printValue();

D.super.printValue();16.讀程序,以下描述哪一個正確?

classBase{}

classSube*tendsBase{}

classSub2e*tendsBase{}

publicclassTest{

publicstaticvoidmain(Stringargs[]){

Baseb=newBase();

Subs=(Sub)b;

}

}

A.編譯出錯。

B.編譯通過,運行時出錯。

C.編譯出錯,但可以繼續(xù)運行。

D.程序正常編譯和運行。17.下面的哪些表達式可以加到構造方法中的“//調用兩個參數(shù)的重載的構造方法”處?

classPerson{

Stringname,department;

intage;

publicPerson(Stringn){name=n;}

publicPerson(Stringn,inta){name=n;age=a;}

publicPerson(Stringn,Stringd,inta){

//調用兩個參數(shù)的重載的構造方法,以便實現(xiàn)”name=n,age=a”

department=d;

}

}

A.Person(n,a);

B.this(Person(n,a));

C.this(n,a);

D.this(name,age);18.運行程序,結果是什么?

classA{

inti;

A(inti){

this.i=i*2;

}

}

classBe*tendsA{

publicstaticvoidmain(Stringargs[]){

Bb=newB(2);

}

B(inti){

System.out.println(i);

}

}

A.編譯不通過,由于A類沒有無參構造方法。

B.編譯通過,但不能運行。

C.運行通過,i=2。

D.運行通過,i=4。19.讀程序,選擇正確的運行結果

classTest{

publicstaticvoidmain(Stringargs[]){

AClassref1=newAClass(5);

AClassref2=newAClass(10);

ref1.getAddShow(ref2);

}

}

classAClass{

privateint*;

AClass(int*){

this.*=*;

}

voidgetAddShow(AClassref){

System.out.println(ref.*+"");

}

}

A.有編譯錯誤。

B.有運行錯誤。

C.可以編譯和運行,結果為5。

D.可以編譯和運行,結果為10。20.讀程序,選擇正確的運行結果

classTest{

publicstaticvoidmain(Stringargs[]){

SubClassref1=newSubClass(5);

SubClassref2=newSubClass(10);

System.out.println(ref1.add(ref2));

}

}

classAClass{

privateint*;

AClass(int*){

this.*=*;

}

}

classSubClasse*tendsAClass{

SubClass(int*){

super(*);

}

intadd(AClassref){

return*+ref.*;

}

}

A.有編譯錯誤。

B.有編譯錯誤,但可以運行。

C.編譯通過,但有運行錯誤。

D.可以編譯和運行,結果為15。多選題:(共8道試題,每題2分)1.讀程序,判斷以下哪些方法可以被添加到Hello類中?

publicclassE*ample{

publicE*ample(){

//...

}

protectedE*ample(inti){

//...

}

protectedvoidmethod(){

//...

}

}

publicclassHelloe*tendsE*ample{

//定義成員變量和成員方法

}

A.publicvoidE*ample(){…}

B.publicvoidmethod(){…}

C.protectedvoidmethod(){…}

D.privatevoidmethod(){…}2.讀程序,以下哪些描述是正確的?

finalclassTest{

privateinta=1;

intb=2;

}

classSeconde*tendsTest{

publicvoidmethod(){

System.out.println(a+b);

}

}

A.Second類不能繼承Test類。

B.Test類不是public的類,不能生成子類。

C.Test類不是public的類,不能生成子類。

D.Test類中的a是private的,在Second類的method()方法中不能被調用。

3.以下哪些描述是正確的?

1)publicvoidcreate(){

2)

VectormyVect;

3)

myVect=newVector();

4)}

A.第二行的聲明不會為變量myVect分配內存空間。

B.第二行語句創(chuàng)建一個Vector類對象。

C.第三行語句創(chuàng)建一個Vector類對象。

D.第三行語句為一個Vector類對象分配內存空間。4.以下哪些是Java的修飾符?

A.static

B.final

C.protected

D.const5.在“//point*”處添加以下哪些聲明語句是正確的?

classPerson{

privateinta;

publicintchange(intm){returnm;}

}

publicclassTeachere*tendsPerson{

publicintb;

publicstaticvoidmain(Stringarg[]){

Personp=newPerson();

Teachert=newTeacher();

inti;

//point*

}

}

A.i=p.a;

B.i=b;

C.i=t.b;

D.i=p.change(30);6.讀程序,下面的哪些聲明可以被加入第一行完成方法的聲明。其中TimedOutE*ception不是一個RuntimeE*ception。

1)//添加聲明語句

2){

success=connect();

3)

if(success==-1){

4)

thrownewTimedOutE*ception();

5)

}

6)}

A.publicvoidmethod()

B.publicvoidmethod()throwsE*ception

C.publicvoidmethod()throwsTimedOutE*ception

D.publicvoidmethod()throwTimedOutE*ception7.符合方法重載的規(guī)則是哪些?

A.參數(shù)列表必須不同

B.參數(shù)列表中個數(shù)不同,或個數(shù)相同但參數(shù)類型的不同

C.方法返回值可以不同

D.訪問控制修飾符必須相同8.以下哪些是“publicvoide*ample(){…}”的重載的方法?

A.publicinte*ample(){…}

B.publicvoide*ample(intm){…}

C.publicinte*ample(intm,doubled){…}

D.publicvoide*ample2(){…}

判斷題:(共10道試題,每題2分)1.friendly關鍵字是Java語言友元類的訪問控制修飾符。

正確

錯誤2.private修飾的頂層類(非內部類)可以被同一個包中的其他類所訪問。

正確

錯誤3.任何變量在使用前都必須顯式初始化。

正確

錯誤4.在Java語言中,屬性前不加任何訪問控制修飾符則表示只允許同一包中的類訪問。

正確

錯誤5.包聲明語句(package)必須放置在包引入語句(import)之前。

正確

錯誤6.當一個類沒有顯式定義構造方法時,Java系統(tǒng)總是為其創(chuàng)建一個默認的無參的構造方法。

正確

錯誤7.一個源文件中有class(類聲明)、package(包聲明)和import(包引入)3中頂層元素,同時出現(xiàn)時必須按照import、package和class的順序出現(xiàn)。

正確

錯誤8.一個源文件中最多只能包含一個包引入語句(import)。如果源文件沒有顯式聲明引入包,則系統(tǒng)默認引入java.lang包。

正確

錯誤9.在同一個類的不同構造方法中調用該類的其它構造方法需要使用this(…)的形式,this(…)不能在構造方法的第一行調用。

正確

錯誤10.重寫的方法的訪問權限不能比被重寫的方法的訪問權限高。

正確

錯誤簡答題:(共8道試題,每題3分)1.簡述類的定義類是面向對象技術中一個非常重要的概念。簡單的說,類是同種對象的集合和抽象。2.簡述類方法(靜態(tài)方法)的概念類方法是由static標記的方法,由整個類(所有實例)共享,如訪問控制權限允許,可不必創(chuàng)建該類對象而直接用類名加‘.’調用。又稱為靜態(tài)方法。類方法屬于整個類只能處理static的成員屬性。3.簡述抽象方法的概念一個方法只有聲明部分而沒有方法的實現(xiàn),該方法叫做抽象方法,抽象方法必須用abstract修飾,沒有方法體,以分號“;”作為結束標志。4.簡述常量的概念final標記的變量(成員變量或局部變量)即稱為常量。常量必須在聲明的同時或在每個構造方法中顯式賦值,然后才能使用。常量只能賦值一次,一般大寫。5.簡述接口的概念把用于完成特定功能的若干屬性組織成相對獨立的屬性集合,凡是需要實現(xiàn)這種特定功能的類,都可以繼承這個屬性集合并在類內使用它,這種屬性集合就是接口。從本質上講,接口是一種特殊的抽象類,這種抽象類中只包含常量和方法的定義,而沒有變量和方法的實現(xiàn)。6.簡述多態(tài)的概念多態(tài)是指子類的對象替代父類的對象使用。重載和重寫是多態(tài)的兩種重要表現(xiàn)形式。7.簡述關鍵字super的概念關鍵字“super”表示的是當前對象的直接父類對象,是當前對象的直接父類對象的引用。“super”可用于訪問父類中定義的屬性,可用于調用父類中定義的成員方法,可用于在子類構造方法中調用父類的構造方法,“super”的追溯不僅于直接父類。8.簡述異常處理機制每當Java程序運行過程中發(fā)生一個可識別的運行錯誤時,即該錯誤有一個異常類與之相對應時,系統(tǒng)都會產生一個相應的該異常類的對象,即產生一個異常。一旦一個異常對象產生了,系統(tǒng)中就一定有相應的機制來處理它,確保不會產生死機、死循環(huán)或其他對操作系統(tǒng)的損害,從而保證了整個程序運行的安全性。單選題:(共20道試題,每題2分)1.讀程序,當編譯運行以下程序時會發(fā)生什么?

classTest{

publicstaticvoidmain(Stringargs[]){

CellPhonecell=newCellPhone();

cell.emergency();

}

}

classPhone{

finalvoiddial110(){

//...

}

}

classCellPhonee*tendsPhone{

voidemergency(){

dial110();

}

}

A.這段程序可以正常編譯運行。

B.這段程序不能被編譯,因為Phone類沒有被聲明為final類。

C.這段程序不能被編譯,因為一個父類中的final的方法不能在子類中引用。

D.這段程序可以被編譯,但是在運行時會出現(xiàn)“NoSuchMethodE*ception”的異常。

2.讀程序,如何修改程序,使得在fun()方法中可以正確的訪問成員變量m?

classTest713{

privateintm;

publicstaticvoidfun(){

//...

}

}

A.將“privateintm”改為“protectedintm”

B.將“privateintm”改為“publicintm”

C.將“privateintm”改為“staticintm”

D.將“privateintm”改為“intm”

3.公共成員變量MA*_LENGTH是一個int型值,其值保持常數(shù)值100。使用一個語句聲明定義這個成員變量。

A.

publicintMA*_LENGTH=100;

B.finalintMA*_LENGTH=100;

C.finalpublicintMA*_LENGTH=100;

D.publicfinalintMA*_LENGTH=100;4.以下抽象類的定義中哪一個是正確的?

A.classTest{

abstractvoidgrowl();

}

B.abstractTest{

abstractvoidgrowl();

}

C.abstractclassTest{

abstractvoidgrowl();

}

D.abstractclassTest{

abstractvoidgrowl(){

System.out.println(“grow1”);

}

}5.以下對Test類的定義中,哪種定義使Test類不能有子類?

A.classTest{}

B.abstractfinalclassTest{}

C.classTest{final;}

D.finalclassTest{}6.以下訪問控制修飾符中訪問權限最大的是哪一個?

A.public

B.private

C.protected

D.缺省訪問模式7.以下訪問控制修飾符中僅允許同類中進行訪問的是哪一個?

A.public

B.private

C.protected

D.缺省訪問模式8.以下哪一個修飾符當用于一個方法前時,必須也用在類前?

A.public

B.final

C.static

D.abstract9.以下修飾符中哪一個是定義常量的?

A.public

B.final

C.static

D.abstract10.有如下定義:

Personp;

Teachert;

Students;

其中,類Teacher和Student都是類Person的子類,p,t和s都是非空值。執(zhí)行以下語句的結果是什么?

if(t

instanceof

Person){

s=(Student)t;

}

A.表達式合法。

B.將構造一個Student對象。

C.編譯時非法。

D.編譯時合法而在運行時可能非法。11.執(zhí)行以下程序,運行結果是什么?

publicclassPerson{

staticintarr[]=newint[10];

publicstaticvoidmain(Stringa[]){

System.out.println(arr[1]);

}

}

A.輸出為0。

B.輸出為null。

C.編譯時將發(fā)生錯誤。

D.編譯正確,但是運行時出錯。

12.讀程序,以下運行結果描述正確的是哪一個?

privateclassTest{

Test(){

int

i=100;

System.out.println(i);

}

}

publicclassTest

e*tendsTest{

staticinti=200;

publicstaticvoidmain(Stringargs[]){

Test

t=newTest();

System.out.println(i);

}

}

A.運行結果為:100。

B.運行結果為:200。

C.運行結果為:100和200。

D.編譯出錯,Test類不能用private修飾。

13.不符合方法重載規(guī)則的是哪個?

A.重載的方法方法名相同。

B.重載的方法的訪問控制修飾符必須相同。

C.重載的方法中返回值可以不同。

D.重載的方法中如果參數(shù)個數(shù)相同,則參數(shù)類型必須不同。14.讀程序,判斷在編譯時哪行將出錯?

1)publicclassTest{

2)

intm,n;

3)

publicTest(){}

4)

publicTest(inta){m=a;}

5)

publicstaticvoidmain(Stringarg[]){

6)

Testt1,t2;

7)

intj,k;

8)

j=0;k=0;

9)

t1=newTest();

10)

t2=newTest(j,k);

11)

}

12)}

A.第3行

B.第4行

C.第9行

D.第10行15.讀程序,選擇正確的運行結果

classTest{

publicstaticvoidmain(Stringargs[]){

SubClassref1=newSubClass(5);

SubClassref2=newSubClass(10);

System.out.println(ref1.add(ref2));

}

}

classAClass{

protectedint*;

AClass(int*){

this.*=*;

}

}

classSubClasse*tendsAClass{

SubClass(int*){

super(*);

}

intadd(AClassref){

return

ref.*+*;

}

}

A.有編譯錯誤。

B.有編譯錯誤,但可以運行。

C.編譯通過,但有運行錯誤。

D.可以編譯和運行,結果為15。16.讀程序,以下運行結果描述正確的是哪一個?

abstractclassTest{

staticinti;

abstractvoidamethod();

}

publicclassSeconde*tendsTest{

publicstaticvoidmain(Stringargs[]){

int[]a=newint[5];

for(inti=0;i<a.length;i++)

System.out.println(a[i]);

}

}

A.程序可以正常編譯和運行。

B.編譯出錯,Test類必須修飾為public類。

C.編譯出錯,a數(shù)組必須在使用前先初始化。

D.編譯出錯,Second類繼承Test類后,必須重寫amethod()方法,否則也應修飾為abstract類。

17.以下的哪個Java源文件代碼片斷是錯誤的?

A.packagetestpackage;

publicclassTest{...}

B.importjava.io.*;

packagetestpackage;

publicclassTest{...}

C.importjava.io.*;

classPerson{...}

publicclassTest{...}

D.importjava.io.*;

importjava.awt.*;

publicclassTest{...}18.運行程序,結果為以下哪個值?

classTester{

intvar;

Tester(doublevar){

this.var=(int)var;

}

Tester(intvar){

this("hello");

}

Tester(Strings){

this();

System.out.println(s);

}

Tester(){

System.out.println("Good-bye");

}

publicstaticvoidmain(Stringargs[]){

Testert=newTester(5);

}

}"

A.hello

B.5

C.hello

Good-bye

D.Good-bye

hello19.讀程序,選擇正確的運行結果

classTest{

publicstaticvoidmain(Stringargs[]){

AClassref1=newAClass(5);

AClassref2=newAClass(10);

System.out.println(ref1.add(ref2));

}

}

classAClass{

privateint*;

AClass(int*){

this.*=*;

}

intadd(AClassref){

returnref.*+*;

}

}

A.有編譯錯誤。

B.有編譯錯誤,但可以運行。

C.編譯通過,但有運行錯誤。

D.可以編譯和運行,結果為15。20.讀程序,運行結果為多少?

classParent{

Stringone,two;

publicParent(Stringa,Stringb){

one=a;

two=b;

}

publicvoidprint(){System.out.println(one);}

}

classChilde*tendsParent{

publicChild(Stringa,Stringb){

super(a,b);

}

publicvoidprint(){

System.out.println(one+"to"+two);

}

publicstaticvoidmain(Stringarg[]){

Parentp=newParent("south","north");

Parentt=newChild("east","west");

p.print();

t.print();

}

}

A.south

easttowest

B.south

east

C.southtonorth

easttowest

D.southtonorth

east多選題:(共8道試題,每題2分)1.讀程序,以下可以在main()方法中添加的語句是哪些?

classTest{

privatefloatf=1.0f;

intm=12;

staticintn=1;

publicstaticvoidmain(Stringargs[]){

Testt=newTest();

//...

}

}

A.t.f

B.this.n

C.Test.m

D.Test.n2.類的定義的源文件名為“Fred.java”,以下類定義正確的是哪些?

A.publicclassfred{

publicint*=0;

publicFred(int*){

this.*=*;

}

}

B.publicclassFred{

publicint*=0;

publicFred(int*){

this.*=*;

}

}

C.publiccla

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論