




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JAVA語言程序設(shè)計考試試題及部分答案
一、單選題:(每題1分)下列各題A)、B)、C)、D)四個選項中,只有一個選
項是正確的,請將正確選項的標(biāo)記寫在題干后的括號內(nèi)。
1.下列語句序列執(zhí)行后,k的值是(B)。
intm=3,n=6,k=0;
while((m++)<(―n))++k;
A)0B)1C)2D)3
2.設(shè)i、j為int型變量名,a為int型數(shù)組名,以下選項中,正確的賦值語句是(B)。
A)i=i+2B)a[0]=7;
0i++——j;D)a(0)=66;
3.Java語言的類間的繼承關(guān)系是(B)o
A)多重的B)單重的C)線程的D)不能繼承
4.設(shè)有定義inti=6;,則執(zhí)行以下語句后,i的值為(C)o
i+=i-1;
A)10B)121C)11D)100
5.下列選項中,用于在定義子類時聲明父類名的關(guān)鍵字是(C)。
A)interfaceB)packageC)extendsD)class
6.若已定義byte[]x={11,22,33,-66};
其中OWk這3,則對x數(shù)組元素錯誤的引用是(C)。
A)x[5-3]B)x[k]C)x[k+5]D)x[0]
7.下列語句序列執(zhí)行后,chi的值是(B)o
charchl='A*,ch2='Wr;
if(chl+2<ch2)++chl;
A)'A'B)'B'C)'CrD)B
8.下列語句序列執(zhí)行后,i的值是(D)0
inti=8,j=16;
if(i-l>j)i―;elsej-;
A)15B)16C)7D)8
9.下列語句序列執(zhí)行后,k的值是(C)o
inti=10,j=18,k=30;
switch(j-i)
{case8:k++;
case9:k+=2;
case10:k+=3;
default:k/=j;
)
A)31B)32C)2D)33
10.下面語句執(zhí)行后,i的值是(B)o
for(inti=0,j=l;j<5;j+=3)i=i+j;
A)4B)5C)6D)7
11.設(shè)有定義floatx=3.5f,y=4.6f,z=5.7f;則以下的表達(dá)式中,值為true的是
(B)o
A)x>y||x>zB)x!=y
C)z>(y+x)D)x<y&!(x<z)
12.下列語句序列執(zhí)行后,i的值是(D)。
inti=16;
do{i/=2;}while(i>3);
A)16B)8C)4D)2
13.以下由for語句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是(B)o
for(inti=0;true;i++);
A)有語法錯,不能執(zhí)行B)無限次
0執(zhí)行1次D)一次也不執(zhí)行
14.定義類頭時能使用的修飾符是(C)。
A)privateB)staticC)abstractD)protected
15.設(shè)int型變量a、b,float型變量x、y,char型變量ch均已正確定義并賦
值,
正確的switch語句是D)o
A)switch(x+y)B)switch(ch+1)
C)switchchD)switch(a+b);
{.....}{.....}
16.下列最終屬性i的定義中,正確的是()o
A)staticfinalint1=100;B)finalinti=l.2;
C)finali=*w';D)finalchari;
17.下列類定義中,不正確的是(C)o
A)classx{….}
B)classxextendsy{....}
C)staticclassximplementsyl,y2{....}
D)publicclassxextendsApplet{….}
18.設(shè)x、y為已定義的類名,下列聲明x類的對象xl的語句中正確的是()o
A)staticxxl;B)publicxxl=newx(int123);
C)yxl;D)xxl=x();
19.設(shè)i、j、k為類x中定義的int型變量名,下列類x的構(gòu)造函數(shù)中不正確的
是(B)0
A)x(intm){...}B)voidx(intm){...j
C)x(intm,intn){...}D)x(inth,intDI,intn)(...}
20.下列方法定義中,正確的是(A)o
A)intx(){charch=*a';return(int)ch;}
B)voidx(){...returntrue;}
C)intx(){...returntrue;}
D)intx(inta,b){returna+b;}
21.用于定義類成員的訪問控制權(quán)的一組關(guān)鍵字是(D)。
A)class,float,double,public
B)float,boolean,int,long
C)char,extends,float,double
D)public,private,protected
22.不能構(gòu)成循環(huán)的語句是(C)。
A)for語句B)while語句C)switch語句D)do__while語句
23.下列程序段執(zhí)行后b3的結(jié)果是(D)。
10.下面是一個JavaApplication的主類的定義,其功能是輸出所有命令行參數(shù)。
importjava.io.*;
publicclassMyClass
(
publicstaticvoidmain(Stringargs[])
(
if(args,length!=_0_)
for(inti=0;i<args,length;i++)
System.out.printin(_'ri=w+i);
elseSystem,out.printin(沒有命令行參數(shù));
}
)
11下面是一個小程序的主類myprogram的定義,其中A、B是該主類所在源程序中已
定義的另兩個類的類名:
importjavaawt.*;
importjavaapplet.*;
publicclassmyprogramextendsApplet〃定義小程序的主類
{
Aa;Bb;
publicmyprograminit()
{a=newA();b=new_B();}
}
12.Java的復(fù)合數(shù)據(jù)類型有:類、數(shù)組和—接口—等。Java的簡單數(shù)據(jù)類型有:
數(shù)值類型(整形和浮點類型),自負(fù)類型和布爾類型
13.表達(dá)式3/6*5的計算結(jié)果是_0o
14.定義初值為10的10次方的長整型變量Ivar的語句是:______long
lvar=l*el0。
15.順序結(jié)構(gòu)、分支結(jié)構(gòu)(或稱選擇結(jié)構(gòu))、_循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計
的三種基本流程控制結(jié)構(gòu)。
16.以下方法m的功能是求兩參數(shù)之積的整數(shù)部分。
intm(floatx,floaty)
{k=(int)x*y;}
17.Java源程序文件編譯后產(chǎn)生的文件稱為一字節(jié)碼—文件,其擴(kuò)展名為
.class____o
18.Java和C++都是面向?qū)ο蟮某绦蛟O(shè)計語言。
三、程序分析:(每題4分)
1.下面是一個排序的程序:
importjava.io.*;
publicclassTest56_Sort
(
publicstaticvoidmain(StringargsE])
(
int[]a={42,99,5,63,95,36,2,69,200,96);
System.out.printin(排序前的數(shù)據(jù)序列:);
ShowArray(a);
Sort(a);
System.out.printin(排序后的數(shù)據(jù)序列:);
ShowArray(a);
)
publicstaticvoidSort(int[]x)
(
intw;
for(inti=l;i<x.length;i++)
(
for(intj=0;j<x.length-1;j++)
if(x[j]>x[j+l])
{w=x[j];x[j]=x[j+l];x[j+l]=w;}
/*if(i==l||i==2)ShowArray(x);
if(i==2)break;*/
)
}
publicstaticvoidShowArray(intb[])
for(inti=0;i<b.length;i++)
System,out.print(wb[iH+i+M]=°+b[i]);
System,out.println();
)
)
問題:如果將方法Sort()中的一對注釋符(/**/)去掉,程序輸出的結(jié)果是什么?
排序前的數(shù)據(jù)序列:
b[0]=42b[l]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96
b[0]=42b[l]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200
b[0]=5b[l]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200
排序后的數(shù)據(jù)序列:
b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200
2.請寫下程序的輸出結(jié)果:
publicclassTest52
{
Stringstrl=MHello,Javaworld!\t'r;
Stringstr2=wHello,students!,r;
publicstaticvoidmain(Stringargs[])
(
System,out.print(strl);
System,out.printin(str2);
)
)
輸出結(jié)果:
3.請寫下程序的輸出結(jié)果:
publicclassT2_4(
publicstaticvoidmain(String[]args)
inti,j;
charc='*";
for(i=0;i<5;i++)
(
for(j=0;j<=i;j++)
System.out.print(M*");
System.out.printin();
}
}
}
輸出結(jié)果:
4、請寫下程序的輸出結(jié)果:
publicclassex2_2
(
publicstaticvoidmain(Stringargs[])
(
intx,y;
byteb=6;
floatz=1.234f;
doublew=1.23;
booleanflag:
x=12;
Y=300;
flag=x>y;
System.out.printin(nx>y==,,+flag);
flag=z>w;
System.out.printin(nz>w==',+flag);
)
)
四、問答題:(每題5分,)
1.Java的接口和C++的虛類的相同和不同處,
由于Java不支持多繼承,而有可能某個類或?qū)ο笠褂梅謩e在幾個類或?qū)ο罄?/p>
面的方法或?qū)傩裕F(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼承相比,接口有更高的靈
活性,因為接口中沒有任何實現(xiàn)代碼。當(dāng)一個類實現(xiàn)了接口以后,該類要實現(xiàn)接口里
面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是publicstatic,所
有方法默認(rèn)情況下是public.一個類可以實現(xiàn)多個接口。
2.垃圾回收的優(yōu)點和原理。并考慮2種回收機(jī)制。
Java語言中一個顯著的特點就是引入了垃圾回收機(jī)制,使C++程序員最頭疼的內(nèi)
存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內(nèi)存管
理。由于有個垃圾回收機(jī)制,Java中的對象不再有“作用域”的概念,只有對象的引
用才有"作用域:垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。
垃圾回收器通常是作為一個單獨的低級別的線程運行,不可預(yù)知的情況下對內(nèi)存堆中
已經(jīng)死亡的或者長時間沒有使用的對象進(jìn)行清楚和回收,程序員不能實時的調(diào)用垃圾
回收器對某個對象或所有對象進(jìn)行垃圾回收?;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃
圾回收,增量垃圾回收,
3,談?wù)刦inal,finally,finalize的區(qū)別。
Final一修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出
新的子類,不能作為父類被繼承。因此一個類不能既被聲明為abstract的,又被聲
明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲
明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。
被聲明為final的方法也同樣只能使用,不能重載。
Finally一再異常處理時提供finally塊來執(zhí)行任何清除操作。如果拋出一個異
常,那么相匹配的catch子句就會執(zhí)行,然后控制就會進(jìn)入finally塊(如果有的
話)。
Finalize一方法名,Java技術(shù)允許使用finalize()方法在垃圾收集器將對象
從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象
沒有被引用時對這個對象調(diào)用的。它是在Object類中定義的,因此所有的類都繼承
了它。子類覆蓋finalizeC)方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize
O方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。
4,數(shù)組有沒有l(wèi)ength()這個方法?String有沒有l(wèi)ength()這個方法?舉
例說明使用方法?
數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。
String有有l(wèi)ength()這個方法。
5.Java中的異常處理機(jī)制的簡單原理和應(yīng)用。
當(dāng)JAVA程序違反7JAVA的語義規(guī)則時,JAVA虛擬機(jī)就會將發(fā)生的錯誤表示為
一個異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫內(nèi)置的語義檢查。例如數(shù)
組下標(biāo)越界,會引發(fā)IndexOutOfBoundsException;訪問null的對象時會引發(fā)
NullPointerExccption,另一種情況就是JAVA允許程序員擴(kuò)展這種語義檢查,程序員
可以創(chuàng)建自己的異常,并自由選擇在何時用thro不關(guān)鍵字引發(fā)異常。所有的異常都
是java.lang.Thowable的子類。
五、程序設(shè)計:(每題11分,共33分)
1、編程:編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)
截取的字符串。但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB",輸入
"我ABC漢DEF",6,應(yīng)該輸出為"我ABC"而不是"我ABC+漢的半個,
2、編程求解:所有兩位整數(shù)能被3整除的數(shù)的和,以及不能被3整除的數(shù)的各位數(shù)
字之和。
3、設(shè)計一個程序求解e的值。精度達(dá)到l.Oe-6,
4、請設(shè)計一個對N個數(shù)進(jìn)行排序的程序
一、選擇題(每道題只有一個正確答案,每小題2分,共30分)15道題
1、關(guān)于Java語言敘述錯誤的是:(C)
A.Java語言具有跨平臺性
B.Java是一種面向?qū)ο蟮恼Z言
C.Java語言中的類可以多繼承
D.Java的垃圾收集機(jī)制自動回收程序已不再使用的對象
2、以下敘述正確的是:(B)的確臺a
A.構(gòu)造方法必須是public方法
B.main方法必須是public方法
C.Java應(yīng)用程序的文件名可以是任意的
D.構(gòu)造方法應(yīng)該聲明為void類型
3、關(guān)于Java中數(shù)據(jù)類型敘述正確的是:(B)
A、整型數(shù)據(jù)在不同平臺下長度不同
B.boolean類型數(shù)據(jù)只有2個值,true和false
C.數(shù)組屬于簡單數(shù)據(jù)類型
D.Java中的指針類型和C語言的一樣
4、設(shè)intx=l,float尸2,則表達(dá)式x/y的值是:(D)
A.0
B.1
C.2
D.以上都不是
5、以下語句有語法錯的是:(A)
A.intx=l;y=2;z=3
B.for(intx=10,y=0;x>0;x++);
C.while(x>5);
D.for(;;);
6、關(guān)于類和對象的敘述正確的是:(A)
A.Java的類分為兩大部分:系統(tǒng)定義的類和用戶自定義的類
B.類的靜態(tài)屬性和全局變量的概念完全一樣,只是表達(dá)形式不同
C.類的成員至少有一個屬性和一個方法
D.類是對象的實例化
7、以下有關(guān)構(gòu)造方法的說法,正確的是:(A)
A.一個類的構(gòu)造方法可以有多個
B.構(gòu)造方法在類定義時被調(diào)用
C.構(gòu)造方法只能由對象中的其它方法調(diào)用
D.構(gòu)造方法可以和類同名,也可以和類名不同
8、以下有關(guān)類的繼承的敘述中,正確的是:(D)
A.子類能直接繼承父類所有的非私有屬性,也可通過接口繼承父類的私有屬性
B.子類只能繼承父類的方法,不能繼承父類的屬性
C.子類只能繼承父類的非私有屬性,不能繼承父類的方法
D.子類不能繼承父類的私有屬性
9、下列屬于容器的組件有:(B)
A.JButton
B.JPane
C.Canvas
D.JTextArea
10、void的含義:(C)
A.方法體為空
B.定義的方法沒有形參
C.定義的方法沒有返回值
D.方法的返回值不能參加算術(shù)運算
11、關(guān)于Java中異常的敘述正確的是:(D)
A.異常是程序編寫過程中代碼的語法錯誤
B.異常是程序編寫過程中代碼的邏輯錯誤
C.異常出現(xiàn)后程序的運行馬上中止
D.異常是可以捕獲和處理的
12、所有的異常類皆繼承哪一個類?(C)
A.java.io.Exception
B.java.lang.Throwable
C.java.lang.Exception
D.java.lang.Error
13、下面哪個不是java語言中的關(guān)鍵字?(B)
A.long
B.sizeof
C.instanceof
D.const
14、為實現(xiàn)進(jìn)程之間的通信,需要使用下列那種流才合適?(D)
A.Datastream
B.Filestream
C.Bufferedstream
D.Pipedstream
15、在復(fù)選框中移動鼠標(biāo),然后單擊一選項,要捕獲所選項必需實現(xiàn)哪個接口?(D)
A.ActionListener
B.MouseListener
C.MouseMotionListern
D.TtemListener
二、填空題(每空1分,共20分)
1、面向?qū)ο蟪绦蛟O(shè)計所具有的基本特征是:—抽象性_封裝性_繼承性
―多態(tài)性—
2、數(shù)組x定義如下
intx[][]=newint[3][2]
則x..length的值為____3________,
x[0].length的值為2_______。
3、Java中實現(xiàn)多線程一般使用兩種方法,一是___繼承Thread類,二是
實現(xiàn)Runnable方法
4、Java的圖形用戶界面設(shè)計中,有很多布局管理器用來擺放組件的位置,一般用到
的布局管理器有(列出四種即可)—FlowLaycut,GridLayout,
―BorderLayout,CardLayout
5、Applet常用的方法是:—init()_._run()—、—stop()—和destroy。。
三、閱讀程序,寫出程序的輸出結(jié)果(每題5分,共20分)
1、classA{
privateintprivateVar;
A(int_privateVar){
privateVar=_privateVar;
}
booleanisEqualTo(AanotherA){
if(this.privateVar==anotherA.privateVar)
returntrue;
else
returnfalse;
)
publicclassB{
publicstaticvoidmain(Stringargs[]){
Aa=newA(l);
Ab=newA(2);
System,out.printin(a.isEqualTo(b));
)
}
程序的輸出結(jié)果為:____false_____
2、classA{
doublef(doublex,doubley){
returnx*y;
}
}
classBextendsA{
doublef(doublex,doubley){
returnx+y;
}
}
publicclassTest{
publicstaticvoidmain(Stringargs口)(
Bobj=newB();
System.out.println(MTheprogramoutputis"+obj.f(4,6));
}
}
程序的輸出結(jié)果為:―Theprogramoutputis10_
3、publicclassUnchecked{
publicstaticvoidmain(String[]args){
try(
method():
}catch(Exceptione){
System,out.printin(,rA");
}finally{
System,out.printin(,rB");
}
)
staticvoidmethod(){
try(
wrench();
System.out.printin("C");
}catch(ArithmeticExceptione){
System.out.printin("D");
}finally{
System.out.printin('rEM);
)
System.out.printin(,rF");
1
staticvoidwrench(){
thrownewNulIPointerException();
}
}
程序的輸出結(jié)果為:
E
A
B
4、publicclassTest{
publicstaticvoidmain(String[]args){
intx;
inta[]={0,0,0,0,0,0};
calculate(a,a[5]);
System,out.printinC1thevalueofa[0]isw+a[0]);
System.out.printin(,rthevalueisa[5]is"+a[5]);
)
staticintcalculate(intx[],inty){
for(inti=1;i<x.length;i++)
if(y<x.length)
x[i]=x[i-1]+1;
returnx[0];
)
}
程序的輸出結(jié)果為:
thevalueofa[0]is0
thevalueisa[5]is5
1.下面哪些是short型的取值范圍[C]
A,-27-27-1
B.0-216-1
C.-215-215-1
D.-231-231-1
2.下面哪些是合法的標(biāo)識符[ABE]
A.{persons
B.TwoUsers
C.*point
D.this
E._endline
3.哪些是將一個十六進(jìn)制值賦值給一個long型變量[D]
A.longnumber=345L;
B.longnumber=0345;
C.longnumber=0345L;
D.longnumber=0x345L;
4.下面的哪些程序片斷可能導(dǎo)致錯誤。[BD]
A.
Strings="Gonewiththewind',;
Stringt="good";
Stringk=s+t;
B.
Strings="Gonewiththewind'1;
Stringt;
t=s[3]+"one";
C.
Strings="Gonewiththewind'1;
Stringstandard=s.toUpperCase();
D.
Strings="homedirectory
Stringt=s-"directory”;
5.在〃pointx處的哪些聲明是合法的[DE]
classPerson(
privateinta;
publicintchange(intin){returnm;}
}
publicclassTeacherextendsPerson{
publicintb;
publicstaticvoidmain(Stringarg[]){
Personp=newPerson();
Teachert=newTeacher();
inti;
//pointx
)
}
A.i=m;
B.i=b;
C.i=p.a;
D.i=p.change(30);
E.i=t.b;
6.當(dāng)Frame的大小被改變時,F(xiàn)rame中的按鈕的位置也可能被改變,請問此時使用
的是什么布局管理器[B]
A.BorderLayout
B.FlowLayout
C.CardLayout
D.GridLayout
7.給出下面的代碼片斷
1publicvoidcreate(){
2VectormyVect;
3myVect=newVector();
4)
下面的哪些陳述是正確的?[ADE]
A.第二行的聲明不會為變量myVect分配內(nèi)存空間。〃指的是堆空間,只是在棧中
分配;這里不用較真.自己理解就好;
B.第二行的聲明分配一個到Vector對象的引用的內(nèi)存空間。
C.第二行語句創(chuàng)建一個Vector類對象。
D.第三行語句創(chuàng)建一個Vector類對象。
E.第三行語句為一個Vector類對象分配內(nèi)存空間。
〃分配棧空間,相當(dāng)于指針,但是不分配"到Vector對象的引用的空間”;選項二的意
思是分配了堆空間;
8.下面的哪些答案可以用以表示八進(jìn)制值8?[A]
A.010
B.0x10
C.08
D.0x8
9.哪些不是Java關(guān)鍵字[AB]
A.TRUE
B.sizeof
C.const
D.super
E.void
10.下面的哪些敘述為真。[AD]
A.equals。方法判定引用值是否指向同一對象?!ú徽f是誰的就是默認(rèn)的
B.==操作符判定兩個分立的對象的內(nèi)容和類型是否一致。
C.equals。方法只有在兩個對象的內(nèi)容一致時返回true。
D.類File重寫方法equals。在兩個分立的對象的內(nèi)容和類型一致時返回true。//
當(dāng)兩個獨立的對象的內(nèi)容和類型一致;
11.下面關(guān)于繼承的哪些敘述是正確的。[AD]
A.在java中只允許單一繼承。
B.在java中一個類只能實現(xiàn)一個接口。
C.在java中一個類不能同時繼承一個類和實現(xiàn)一個接口。
D.java的單一繼承使代碼更可靠。
12.第十行的聲明將調(diào)用哪些方法.[D]
1classPerson{
2publicvoidprintValue(inti,intj){}
3publicvoidprintValue(inti){}
4)
5publicclassTeacherextendsPerson{
6publicvoidprintValue0{}
7publicvoidprintValue(inti){}
8publicstaticvoidmain(Stringargs[]){
9Persont=newTeacher();
10t.printValue(lO);
11)
12}
A.第2行的方法
B.第3行的方法
C.第6行的方法
D.第7行的方法
13.下面哪些不是java的原始數(shù)據(jù)類型[BC]
A.short
B.Boolean
C.unit
D.float
14.下面的哪些關(guān)鍵字通常用來對對象的加鎖,該標(biāo)記使得對對象的訪問是排他的?
[B]
A.transient
B.synchronized
C.serialize
D.static
15.main。方法的返回類型是什么?[B]
A.int
B.void
C.boolean
D.static
16.給出以下關(guān)于一個使用適當(dāng)?shù)淖址g距的字體的TextField的表達(dá)式
TextFieldt=newTextField(Mtheyaregood",40);〃40指的是像素
哪些敘述是對的?[D]
A.被顯示的字符串可以使用多種字體。
B.一行中最大的字符數(shù)是40
C.顯示的寬度正好是40個字符寬。
D.用戶可以編輯字符。
17.關(guān)于垃圾收集的哪些敘述是對的?[B]
A.程序開發(fā)者必須自己創(chuàng)建一個線程進(jìn)行內(nèi)存釋放的工作。
B.垃圾收集將檢查并釋放不再使用的內(nèi)存。
C.垃圾收集允許程序開發(fā)者明確指定并立即釋放該內(nèi)存。
0.垃圾收集能夠在期望的時間釋放被java對象使用的內(nèi)存。
18.給出下面的代碼
1publicclassTest{
2intm,n;
3publicTest(){}
4publicTest(inta){m=a;}
5publicstaticvoidmain(Stringarg[]){
6Testtl,t2;
7intj,k;
8j=0;k=0;
9tl=newTest();
10t2=newTest(j,k);
11)
12}
在編譯時哪行將導(dǎo)致一個錯誤?[D]
A.第3行
B.第5行
C.第6行
D.第10行
19.Thread的方法resume。負(fù)責(zé)恢復(fù)哪些線程的執(zhí)行?[D]
A.通過調(diào)用stop。方法而停止的線程。
B.通過調(diào)用sleep。方法而停止運行的線程。
C.通過調(diào)用wait。方法而停止運行的線程。
D.通過調(diào)用suspend。方法而停止運行的線程。〃已經(jīng)過期了
20.有關(guān)線程的哪些敘述是對的?[BD]
A.一旦一個線程被創(chuàng)建,它就立即開始運行。
B.使用start。方法可以使一個線程成為可運行的,但是它不一定立即開始運行。
C.當(dāng)一個線程因為搶先機(jī)制而停止運行,它被放在可運行隊列的前面。//比它
優(yōu)先級高的進(jìn)程搶占了cpu,它運行的時間根據(jù)操作系統(tǒng)而定;
D.一個線程可能因為不同的原因停止并進(jìn)入就緒狀態(tài)。〃可運行狀態(tài)
21.給出下面的不完整的方法
1
2{success=connect();
3if(success==-l){
4thrownewTimedOutExccption();
5}
6}
已知TimedOutException不是一個RuntimeException。下面的哪些聲明可以被加
入第一行完成此方法的聲明[BC]
A.publicvoidmethod()
B.publicvoidmethod()throwsException
C.publicvoidmethod()throwsTimedOutException
D.publicvoidmethod()throwTimedOutException
E.publicthrowTimedOutExceptionvoidmethod()
22.給出下面的代碼
classPerson{
Stringname,department;
publicvoidprinlValueO{
System,out.printin(,rnameis,r+name);
System,out.printin("departmentis"+department);
}
}
publicclassTeacherextendsPerson{
intsalary;
publicvoidprintValue(){
//完成父類代碼中printValueO相同的工作
System,out.printin("salaryisn+salary);
)
}
下面的哪些表達(dá)式可以加入prinlValueO方法的注釋部分?[D]
A.printValueO;
B.this.printValueO;
C.person.printValueO;
D.super.printValuc0;
23.下面的哪些賦值語句是錯的?[A]
A.floatf=11.1;
B.doubled=5.3E12;
C.doubled=3.14159;
D.doubled=3.14D;
24.給出下面的不完整的類代碼
classPerson{
Stringname,department;
intage;
publicPerson(Stringn){name=n;}
publicPerson(Stringn,inta){name=n;age=a;)
publicPerson(Stringn,Stringd,inta){
//完成Person(Stringn,inta)的邏輯
department=d:
)
}
下面的哪些表達(dá)式可以加到構(gòu)造方法中的注釋處?[C]
A.Person(n,a);
B.this(Person(n,a));〃構(gòu)造函數(shù)的名字不能當(dāng)方法名調(diào)用;
C.this(n,a);
D.this(name,age);〃構(gòu)造方法的參數(shù)也不能直接傳實例變量名
25.下面關(guān)于變量及其范圍的陳述哪些是對的?[ACD]
A.實例變量是類的成員變量。
B.實例變量用關(guān)鍵字static聲明。
C.在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)建
0.局部變量在使用前必須被初始化。
26.給出下面的代碼
publicvoidtest0{
try(
oneMethod();
System,out.printIn("condition1");
}catch(ArrayIndexOutOfBoundsExceptione){
System,out.printIn("condition2");
}catch(Exceptione){
System,out.printIn("condition3");
}finally{
System,out.printin("finally,r);
)
}
在oneMethod()方法運行正常的情況下將顯示什么?[AD]
A.condition1
B.condition2
C.condition3
D.finally
27.給出下面的代碼
publicclassTest{
voidprintValuc(intm){
do{
System.out.println("ThevalueisH+m);
}while(-m>10);
)
publicstaticvoidmain(Stringarg[]){
inti=10;
Testt=newTest();
t.printValue(i);
)
)
輸出將是什么?[C]
A.8
B.9
C.10
D.11
28.下面的有關(guān)聲明的哪些敘述是對的?[BC]
A.對原始數(shù)據(jù)類型例如boolean,byte的變量的聲明不會為該變量分配內(nèi)存空間。
B.對原始數(shù)據(jù)類型例如boolean,byte的變量的聲明將為之分配內(nèi)存空間。
C.非原始數(shù)據(jù)類型例如String,Vector的變量的聲明不會為該對象分配內(nèi)存。
D.非原始數(shù)據(jù)類型例如String,Vector的變量的聲明會為該對象分配內(nèi)存。
〃該對象指的是堆空間的對象;指向該對象的引用只能叫變量;
29.類的設(shè)計要求它的某個成員變量不能被外部類直接訪問。應(yīng)該使用下面的哪些修
飾符獲得需要的訪問控制?[D]
A.public
B.不加修飾符
C.protected
D.private〃面向?qū)ο缶幊蘌196頁的表格,private一行有錯誤
30.給出下面的代碼片折
1Stringstr=null;
2if((str!=null)&&(str.length0>10)){
3System.out.printin("morethan10");
4)
5elseif((str!=null)&(str.length()<5)){〃空指針異常
6System.out.printIn(nlessthan5");
7)
8else{System.out.printin(Mend'r);}
哪些行將導(dǎo)致錯誤?[C]
A.第1行
B.第2行
C.第5行
D.第8行
31.下面有關(guān)java代碼安全性的敘述哪些是對的?[BCD]
A.字節(jié)碼校驗器加載查詢執(zhí)行需要的所有類。
B.運行時解釋器執(zhí)行代碼。
C.在運行時,字節(jié)碼被加載,驗證然后在解釋器里面運行。
D.類加載器通過分離本機(jī)文件系統(tǒng)的類和從網(wǎng)絡(luò)導(dǎo)入的類增加安全性。
32.給出下面的代碼
publicclassPerson{
intarr[]=newint[10];//非靜態(tài)屬性
publicstaticvoidmain(Stringa[]){
System.out.println(air[l]);〃靜態(tài)方法不能訪問非靜態(tài)屬性
)
)
哪些敘述是對的?[A]
A.編譯時出錯。
B.編譯時正確而運行時出錯。
C.輸出0。
D.輸出null。
33.給出下面的代碼
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
)
}
classChildextendsParent{
)
哪些方法可以加入類Child中?[BC]〃方法的覆蓋
A.intaddValue(inta,intb){//dosomething...)
B.publicvoidaddValue(){//dosomething...)
C.publicintaddValue(inta){//dosomething...)
D.publicintaddValue(inta,intb)throwsException{//dosomething...}
34.公有成員變量MAX一LENGTH是一個int型值,變量的值保持常數(shù)值100,定義這
個變量的代碼為?[CD]
A.publicintMAX_LENGTIl=100;
B.finalintMAX_LENGTIl=100;
C.finalpublicintMAX_LENGTH=100;〃修飾符的順序可以交換
D.publicfinalintMAX_LENGTH=100;
35.下面的哪些java源文件代碼片斷是對的?[ACD]
A.packagetestpackage;
publicclassTest{//dosomething...)
B.importjava.io.*;
packagetestpackage;
publicclassTest{//dosomething...}
C.importjava.io.*;
classPerson{//dosomething...}
publicclassTest{//dosomething...}
D.importjava.io.*;
importjava.awt.*;
publicclassTest{//dosomething..)
36.給出下面的類
publicclassSample{
longlength;
publicSample(long1){length=1;}
publicstaticvoidmain(Stringarg[]){
Samplesi,s2,s3;
si二newSample(21L);
s2二newSample(21L);
s3—s2;
longm=21L;
)
}
哪個表達(dá)式返回true?[B]
A.si==s2;
B.s2==s3;
C.in==si;
D.si.equals(m);
List1=newList(6,true);〃第二個參數(shù)是false的話只能選一個
其中哪些敘述是正確的?[AC]
A.在沒有其它的約束的條件下該列表將有6行可見。
B.一行的最大字符數(shù)是6
C.列表將允許用戶多選
D.列表只能有一項被選中
38.給出下面的代碼
classParent{
Stringone,two;
publicParent(Stringa,Stringb){
one=a;
two=b;
)
publicvoidprintO{System.out.println(one);}
}
publicclassChildextendsParent{
publicChild(Stringa,Stringb){
super(a,b);
)
publicvoidprintO(
System,out.println(one+"to"+two);
)
publicstaticvoidmain(Stringargs[]){
Parentp=newParent(11south,r,"north");
Parentt=newChild(MeastH,"west");
p.print();
t.print();
}
}
下面的哪些情況或輸出的結(jié)果正確?[E]
A.編譯時出錯
B.south
east
C.southtonorth
easttowest
D.southtonorth
east
E.south
easttowest
39.類Teacher和Student都是類Person的子類
Personp;
Teachert;
Students;
若p,t和s都是非空值
if(tinstanceofPerson){s=(Student)t;}
這個語句導(dǎo)致的結(jié)果是什么?[C]//默認(rèn)new時聲明的都是本類;
A.將構(gòu)造一個Student對象
B.表達(dá)式合法
C.編譯時非法
D.編譯時合法而在運行時可能非法
40.給出下面的代碼
Strings="hello”;
Stringt="hello”;
charc[]={*h*,*e',11*,r1*,ro,);
下列選項里,哪些返回true?[ACD]
A.s.equals(t);
B.t.equals(c);
C.s-t;
D.t.equals(newString(whello'r));
E.t=c;
一、單選題(本大題15小題,每小題2分,共3c分)
1.下列語句執(zhí)行后,變量a、c的值分別是()。
intx=182;
inta,c;
c=x/100;
a=x%10;
A)1,2B)2,1C)1.82,2D)100,82
【答案】B
2.下面哪個表達(dá)式可用得到x和y的最大值()?
A)x>y?y:xB)x<y?y:xC)x>y?(x+y):(x-y)D)x==y?y:x;
【答案】B
3.以下是應(yīng)用程序中定義的靜態(tài)方法printBinary,若在其main方法中有方法調(diào)用
語句printBinary(2),則輸
出的結(jié)果是()。
staticvoidprintBinary(inti){
System,out.print(i+"的2進(jìn)制數(shù)表示為:\t");
for(intj=31;j>=0;j—)
if(((l?j)&i)!=0)
System.out.print(T);
else
System.out.print(n0M);
System.out.printlnO;〃換行
)
A)00000000000000000000000000000001B)00000000000000000000000000000010
C)00000000000000000000000000001111D)00000000000000000000000000000000
【答案】B
4.應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是()。
Stringsi="0.5",s2="12”;
doublex=Double.parseDouble(si);
inty=Integer.parselnt(s2);
System,out.printin(x+y);
A)12.5B)120.5C)12D)"”
【答案】A
5.應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是()。
doublex=1234.1234567;
DccimalFormatforml=newDecimalFormat("0000.0'1);
System.out.println("PI="+forml.format(x));
A)PI=1234.1B)Pl=1234
C)PI=1234.1235D)PI=1234.0
【答案】A
6.下列程序段執(zhí)行后的結(jié)果是()o
Strings=newString("abcdefg");
for(inti=0;i<s.length0;i+=2){
System.out.print(s.charAt(i));
}
A)acegB)ACEGC)abcdefgD)abed
【答案】A
7.應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是()。
int[]x={122,33,55,678,-987);
intmax=x[0];
for(inti=l;i<x.length;i++){
if(x[i]>max)
max=x[i];
}
System,out.printIn(max);
A)678B)122C)-987D)33
【答案】A
8.下列語句序列執(zhí)行后,k的值是()0
intx=2,y=5,k=0;
switch(x%y){
case0:k=x+y;break;
case1:k=x-y;break;
case2:k=x*v:break;
default:k=x/y;break;
)
System.out.printin(k);
A)2B)5C)10D)0
【答案】C
9.下面的程序輸出的結(jié)果是()
publicclassAimplementsB{
publicstaticvoidmain(Stringargs[]){
inti;
Acl=newA();
i=cl.k;
System,out.println(Hi=,,+i);
)
)
interfaceB{
intk=10;
}
A)i=0B)i=10C)程序有編譯錯誤D)i=true
【答案】B
10.應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是()。
intb[][]={{l,2,3),{4,5},{6,7}};
intsum=0;
for(inti=0;i<b.length;i++){
for(intj=0;j<b[i].length;j++){
sum+=b[i][j];
)
}
System,out.printin("sum=M+suni);
A)28B)6C)9D)13
【答案】A
11.有整型數(shù)組:int[]x={12,35,8,7,2};,則調(diào)用方法Arrays,sort(x)后,數(shù)組x
中的元素值依次是().
A)2781235B)1235872C)351287
2D)8712
352
【答案】A
12.編譯和運行下面的應(yīng)用程序,并在命令行界面輸入12345,則回車后屏幕輸出的
結(jié)果是().
publicclassA{
publicstaticvoidmain(Stringargs[])throwslOException{
BufferedReaderbuf=newBufferedReader(
newInputStrcamRcader(System,in));
Stringstr=buf.rcadLineO;
intx=Integer.parselnt(str);
System.out.printin(x/100);
)
)
A)45B)5C)123D)12345
【答案】C
13.下面的程序段執(zhí)行后輸出的結(jié)果是()。
StringBufferbuf=newStringBuffer(°Beijing2008M);
buf.insert(7,"@");
System.out.println(buf.toStringO);
A)Beijing@2008B)@Beijing2008C)Beijing2008@D)Beijing#2008
【答案】A
14.下面的程序編譯運行后輸出的結(jié)果是()。
publicclassAimplementsRunnable{
publicstaticvoidmain(Stringargv[]){
Aa=newA();
Threadt=newThread(a);
t.start();
)
publicvoidrun(){
w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年咖啡師考試選拔性試題及答案
- 多媒體設(shè)計師考試凝聚智慧的試題與答案
- 2024年稅務(wù)師考試新變化試題及答案
- 收納創(chuàng)建步驟試題及答案
- 2025年電熨頭項目合作計劃書
- 尋找答案 2024稅務(wù)師考試試題及答案
- 多媒體應(yīng)用設(shè)計必考考點
- 2024年電網(wǎng)考試命題趨勢及試題及答案
- 2024年度統(tǒng)計師考試主題分析試題及答案
- 深度解析稅務(wù)師試題及答案
- deepseek在科研機(jī)構(gòu)知識管理中的應(yīng)用實例
- 發(fā)票紅沖申請書
- 大數(shù)據(jù)技術(shù)在醫(yī)療健康領(lǐng)域的應(yīng)用方案設(shè)計
- 【道法】做自信的人課件 2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 手機(jī)攝影培訓(xùn)教程
- 2024年武漢警官職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 貴州省三級醫(yī)院評審標(biāo)準(zhǔn)實施細(xì)則(2023版)
- 2025屆南通市高三第二次模擬考試數(shù)學(xué)試卷含解析
- 畫謎課件教學(xué)課件
- 2024年中央經(jīng)濟(jì)工作會議精神要點梳理
- 2025學(xué)年高三政治二輪復(fù)習(xí)教學(xué)計劃
評論
0/150
提交評論