![《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第1頁(yè)](http://file4.renrendoc.com/view8/M00/3A/0A/wKhkGWcO242AOHy4AAHitksxuAc382.jpg)
![《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第2頁(yè)](http://file4.renrendoc.com/view8/M00/3A/0A/wKhkGWcO242AOHy4AAHitksxuAc3822.jpg)
![《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第3頁(yè)](http://file4.renrendoc.com/view8/M00/3A/0A/wKhkGWcO242AOHy4AAHitksxuAc3823.jpg)
![《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第4頁(yè)](http://file4.renrendoc.com/view8/M00/3A/0A/wKhkGWcO242AOHy4AAHitksxuAc3824.jpg)
![《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案_第5頁(yè)](http://file4.renrendoc.com/view8/M00/3A/0A/wKhkGWcO242AOHy4AAHitksxuAc3825.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案1(應(yīng)考
必備題庫(kù))
一、單選擇題
1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文
件的擴(kuò)展名為(B)<,
A.javaB..class
C.htmlD..exe
2、設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z-----/++x的值是(A)。
A.3B.3.5
C.4D.5
3、不允許作為類(lèi)及類(lèi)成員的訪(fǎng)問(wèn)限制符的是(C)o
A.publicB.private
C.staticD.protected
4、為AB類(lèi)的一個(gè)無(wú)形式參數(shù)無(wú)返回值的方法method書(shū)寫(xiě)方法頭,使得運(yùn)用類(lèi)
名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
二、填空題
1、開(kāi)發(fā)與運(yùn)行Java程序須要經(jīng)過(guò)的三個(gè)主要步驟為編輯源程序、
編譯生成字節(jié)碼和說(shuō)明運(yùn)行字節(jié)碼.
2、在Java的基本數(shù)據(jù)類(lèi)型中,char型接受Unicode編碼方案,每個(gè)Unicode碼
占
用2字節(jié)內(nèi)存空間,這樣,無(wú)論是中文字符還是英文字符,都是占
用2字節(jié)內(nèi)存空間。
3、設(shè)x=2,則表達(dá)式(x++)/3的值是一0。
4、若x=5,y=10,則x<y和x>=y的邏輯值分別為true和false。
5、抽象(abstract)方法是一種僅有方法頭,沒(méi)有具體方法體和操作實(shí)現(xiàn)的
方法,該方法必需在抽象類(lèi)之中定義。最終(final)方法是不能被當(dāng)前類(lèi)的子類(lèi)
重新定義的方法。
6、創(chuàng)建一個(gè)名為MyPackage的包的語(yǔ)句是packageMyPackage;,
該語(yǔ)句應(yīng)當(dāng)放在程序的位置為:應(yīng)當(dāng)在程序第一句O
7、設(shè)有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70);則執(zhí)
行以下幾個(gè)語(yǔ)句后的輸出結(jié)果是120
ints=0;
for(inti=0;i<MylntAnay.length;i++)
if(i%2==1)
s+=MylntArrayfi];
System.out.println(s);
8、在Java程序中,通過(guò)類(lèi)的定義只能實(shí)現(xiàn)單一重繼承,但通過(guò)接口的定義可
以實(shí)現(xiàn)多一重繼承關(guān)系。
三、寫(xiě)出下面程序的運(yùn)行結(jié)果
1、importjava.io.*;
publicclassabc
(
publicstaticvoidmain(Stringargs[J)
(
ABs=newAB(HHello!,',"IloveJAVA.");
System.out.println(s.toString());
}
)
classAB{
Stringsi;
Strings2;
publicAB(Stringstrl,Stringstr2)
(
si=strl;
s2=str2;
}
publicStringtoString()
(
returns1+s2;
)
)
運(yùn)行結(jié)果:Hello!IloveJAVA.
2、importjava.io.*;
publicclassabc
publicstaticvoidmain(Stringargs[])
{inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90);
for(i=0;i<a.length;i++)
if(a[i]%3==0)s+=a[i];
System.out.println(Ms=n+s);
運(yùn)行結(jié)果:s=180
3、importjava.io.*:
publicclassabc
(
publicstaticvoidmain(Stringargs[])
(
System.out.println(Ma=,'+a+,'\nb=H+b);
)
)
classSubClassextendsSuperClass
{intc;
SubClass(intaa,intbb,intcc)
(
super(aa,bb);
c=cc;
classSubSubClassextendsSubClass
{inta;
SubSubClass(intaa,intbb,intcc)
super(aa,bb,cc);
A=aa+bb+cc;
voidshow()
System.out.println("a=n+a+n\nb=u4-b+"\nc="+c);
)
運(yùn)行結(jié)果:a=60
b=20
c=30
《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案2(應(yīng)考
必備題庫(kù))
一.推斷題
I.Java的源代碼中定義幾個(gè)類(lèi),編譯結(jié)果就生成幾個(gè)以.class為后綴的字節(jié)碼文件。(J)
2.Java程序里,創(chuàng)建新的類(lèi)對(duì)象用關(guān)鍵字new,回收無(wú)用的類(lèi)對(duì)象運(yùn)用關(guān)鍵字free。(X)
3.Java有垃圾回收機(jī)制,內(nèi)存回收程序可在指定的時(shí)間釋放內(nèi)存對(duì)象(人工可以指定的程序
變更)。(X)
4.構(gòu)造函數(shù)用于創(chuàng)建類(lèi)的實(shí)例對(duì)象,構(gòu)造函數(shù)名應(yīng)與類(lèi)名相同,返回類(lèi)型為void(無(wú)返回
類(lèi)型)。(X)
5.在異樣處理中,若try中的代碼可能產(chǎn)生多種異樣則可以對(duì)應(yīng)多個(gè)catch語(yǔ)句,若catch
中的參數(shù)類(lèi)型有父類(lèi)子類(lèi)關(guān)系,此時(shí)應(yīng)當(dāng)將父類(lèi)放在后面,子類(lèi)放在前面。(J)
6.擁有abstract方法的類(lèi)是抽象類(lèi),但抽象類(lèi)中可以沒(méi)有abstract方法。(J)
7.Java的屏幕坐標(biāo)是以像素為單位,容器的左下角被確定為坐標(biāo)的起點(diǎn)。(X)
8.靜態(tài)初始化器是在其所屬的類(lèi)加載內(nèi)存時(shí)由系統(tǒng)自動(dòng)調(diào)用執(zhí)行。(V)
9.在Java中對(duì)象可以賦值,(類(lèi),new)只要運(yùn)用賦值號(hào)(等號(hào))即可,相當(dāng)于生成了一個(gè)
各屬性與賦值對(duì)象相同的新對(duì)象
(X)
二.單項(xiàng)選擇題
1.Javaapplication中的主類(lèi)需包含main方法,以下哪項(xiàng)是main方法的正確形
參?(B)
A、StringargsB、Stringargs[]C^CharargD、StringBuffer
args[]
2.以下關(guān)于繼承的敘述正確的是(A)o
A、在Java中類(lèi)只允許單一繼承
B、在Java中一個(gè)類(lèi)只能實(shí)現(xiàn)一個(gè)接口
C、在Java中一個(gè)類(lèi)不能同時(shí)繼承一個(gè)類(lèi)和實(shí)現(xiàn)一個(gè)接口
D^在Java中接口只允許單一繼承
3.paint()方法運(yùn)用哪種類(lèi)型的參數(shù)?(A)
A、GraphicsBNGraphics2DC、StringD、Color
4.以下哪個(gè)不是Java的原始數(shù)據(jù)類(lèi)型(B)
A、intB>BooleanC、floatD、char
5.以下哪項(xiàng)可能包含菜單條(B)o
A、PanelB、FrameC、AppletD、Dialog
6.若須要定義一個(gè)類(lèi)域或類(lèi)方法,應(yīng)運(yùn)用哪種修飾符?(A)
ANstaticB、packageC、privateD、public
7.在閱讀器中執(zhí)行applet程序,以下選項(xiàng)中的哪個(gè)方法將被最先執(zhí)行(A)。
A、init()B、start()C、destroyOD^stop。
8.給出下面代碼,關(guān)于該程序以下哪個(gè)說(shuō)法是正確的?(C)
publicclassPerson{
staticintarr[]=newint[51;
publicstaticvoidmain(Stringa[J)
(
System.out.println(arr[()]);}
)
A、編譯時(shí)將產(chǎn)生錯(cuò)誤B、編譯時(shí)正確,運(yùn)行
時(shí)將產(chǎn)生錯(cuò)誤
C、輸出零D、輸出空
9.下列哪些語(yǔ)句關(guān)于Java內(nèi)存回收的說(shuō)明是正確的?(B)
A、程序員必需創(chuàng)建一個(gè)線(xiàn)程來(lái)釋放內(nèi)存
B、內(nèi)存回收程序負(fù)責(zé)釋放無(wú)用內(nèi)存
C、內(nèi)存回收程序允許程序員干脆釋放內(nèi)存
D、內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對(duì)象
10.以下哪個(gè)關(guān)鍵字可以用來(lái)對(duì)對(duì)象加互斥鎖?(B)
A、transientB、synchronizedC、serializeD
11.以下代碼段執(zhí)行后的輸出結(jié)果為(A
intx=-3;
inty=-10;
System.out.println(y%x);
12.有以下程序片段,下列哪個(gè)選項(xiàng)不能插入到行1。(D)
1.
2.publicclassInteresting(
3.//dosth
4.}
A、importjava.awt.*;B、packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
13.設(shè)有下面兩個(gè)賦值語(yǔ)句:
=Integer.parselnt(a12J,);
=Integer.valueOf("12").intValueO;
下述說(shuō)法正確的是(D)o
A、a是整數(shù)類(lèi)型變量,b是整數(shù)類(lèi)對(duì)象。
B、a是整數(shù)類(lèi)對(duì)象,b是整數(shù)類(lèi)型變量。
C、a和b都是整數(shù)類(lèi)對(duì)象并且值相等。
D、a和b都是整數(shù)類(lèi)型變量并且值相等。
14.FilterOutputStream是BufferedOutputStream>DataOutputStream及PrintStream
的父類(lèi),以下哪個(gè)類(lèi)可能是FilterOutputStream構(gòu)造函數(shù)的參數(shù)類(lèi)型?A
A、OutputStreamB、File
C、InputStrcamD、BuffcrcdOutputStrcam
15.在編寫(xiě)JavaApplet程序時(shí),需在程序的開(kāi)頭寫(xiě)上(B)語(yǔ)句。
A、importjava.awt.*;B、importjava.applet.Applet;
C^importjava.io.*;D、importjava.awt.Graphics;
16.類(lèi)Parent、Child定義如下:
1.publicclassParent
2.{publicfloataFun(floata,floatb)throws
3.lOException{}
4.)
5.publicclassChildextendsParent{
6.
7.}
將以下哪種方法插入行6是不合法的。(A)
A、floataFun(floata,floatb){}
B、publicintaFun(inta,intb)throwsException[}
C^publicfloataFun(floatp,floatq){}
D、publicintaFun(inta,intb)throwslOException{}
17.在運(yùn)用interface聲明一個(gè)接口時(shí),只可以運(yùn)用(D)修飾符修飾該接
口。
A、privateB、protectedC、privateprotectedD、public
18、有以下方法的定義,請(qǐng)選擇該方法的返回類(lèi)型(D
ReturnTypemethod(bytex,doubley)
(
return(short)x/y*2;
)
A、byteB、shortC>intD、double
19、關(guān)于以下代碼段的說(shuō)法正確的是(D)
1.Strings=,,abcde";
2.StringBuffersl=newStringBufferC^bcde");
3.if(s.equals(sl))
4.sl=null;
5.if(sl.equals(s))
6.s=null;
A、第1行編譯錯(cuò)誤,String的構(gòu)造器必需明確調(diào)用
B、第3行編譯錯(cuò)誤,因?yàn)閟與si有不同的類(lèi)型
C、編譯成功,但執(zhí)行時(shí)在第5行有異樣拋出
D、編譯成功,過(guò)程中也沒(méi)有異樣拋出
20、編譯并運(yùn)行以下程序,以下描述哪個(gè)選項(xiàng)是正確的(C)
1.classX{
2.protectiedStringtoString()i{
3.returnsuper.toStringO;}
4.)
A、編譯通過(guò)運(yùn)行無(wú)異樣B、編譯通過(guò)但運(yùn)行時(shí)出錯(cuò)
C、行2出錯(cuò),不能成功編譯D、不能成功編譯,行3出錯(cuò)
三.程序閱讀題
1.以下程序的輸出結(jié)果為_(kāi)__相等O
classStringiest1
(
publicstaticvoidmain(String[]args)
(
Stringsi="hello";
Strings2=newStringC'hello");
if(sl.equals(s2)){
System.out.println("相等");
}else{
System.out.println("不相等)
)
}
)
2.以下程序段的輸出結(jié)果為56789o
publicclassTestArray
publicstaticvoidmain(Stringargs[]){
inti,j;
inta[]=(5,9,6,8,7);
for(i=0;i<a.length-1;i++){
intk=i;
for(j=i;j<a.length;j++)
if(a[j]<a[k])k=j;
inttemp=a[i];
a[i]=a[k];
a[k]=temp;
)
for(i=0;i<a.length;i++)
System.out.print(alij+U
System.out.println();
}
)
3.寫(xiě)出以下程序的功能。
importjava.io.*;
publicclassTestFile
(
publicstaticvoidmainiStringargsf])throwsException
(
BufferedReaderbr=newBufferedReader(
newInputStreamReader(System.in));
BufferedWriterbw=newBufferedWriter(newFileWriter(uinput.txt"));
Strings;
while(true)
(
System.out.print("請(qǐng)輸入一個(gè)字符串:");
System.out.flush();
s=br.readLine();
if(s.length()==0)break;
bw.write(s);
bw.newLine();
bw.close();
)
}
功能:從鍵盤(pán)逐一輸入字符串,逐一輸出至input.txt文件中,直至輸入空行。
4.閱讀以下程序,寫(xiě)出輸出結(jié)果。
classAnimal{
Animal(){
System.out.print("Animal");}
)
publicclassDogextendsAnimal{
Dog(){
System.out.print("Dog*');)
publicstaticvoidmain(String[]args){
Dogsnoppy=newDog();}
)
輸出結(jié)果:AnimalDog
OAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案3(應(yīng)考
必備題庫(kù))
一、單項(xiàng)選擇題
1、如下哪個(gè)是Java中的標(biāo)識(shí)符(D)
A、publicB、superC、3numberD、width
2、如下哪個(gè)是Java中的標(biāo)識(shí)符(A)
A、fieldnamesuperC^3numberD^#number
3、已知如下定義:Strings="story";下面哪個(gè)語(yǔ)句不是合法的(C)
A、s+="books";B、s=s+100;
C、intlen=s.length;D^Stringt=s+“abc”;
4、如下哪個(gè)是Java中有效的關(guān)鍵字(C)
A、namehelloC、falseD、good
5、下面的代碼段執(zhí)行之后count的值是什么(D)
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
)
System.out.printIn(count);
A、5B、1C、15D、16
6、定義一個(gè)類(lèi),必需運(yùn)用的關(guān)鍵字是(B)
A、publicclassC、interfaceD、static
7、定義一個(gè)接口必需運(yùn)用的關(guān)鍵字是(C)
A、publicB、classC、interfaceD^static
8、假如容器組件p的布局是BorderLayout,則在p的下邊中添加一個(gè)按鈕b,
應(yīng)當(dāng)運(yùn)用的語(yǔ)句是(C)
A、p.add(b);p.add(b,nNorth");
C、p.add(b,"South");D、b.add(p,"North");
9、聲明并創(chuàng)建一個(gè)按鈕對(duì)象b,應(yīng)當(dāng)運(yùn)用的語(yǔ)句是(A)
A、Buttonb=newButton();B、buttonb=newbutton();
C、Buttonb=newb();D、b.setLabel(“確定”);
10、Frame對(duì)象默認(rèn)的布局管理器是(B)
A、FlowLayoutB、BorderLayout
C^CardLayoutD、null
11、下列哪一個(gè)import叮囑可以使我們?cè)诔绦蛑袆?chuàng)建輸入/輸出流對(duì)象(C)
A、importjava.sqL*;B、importjava.util.*;
C、importjava.io.*;D、.*;
12、下面哪一個(gè)import叮囑可以為我們供應(yīng)編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序的類(lèi)(D)
A、importjava.sql.*;B、importjava.util.*;
C、importjava.io.*;D、.*;
13、假如須要從文件中讀取數(shù)據(jù),則可以在程序中創(chuàng)建哪一個(gè)類(lèi)的對(duì)象(A)
A、FilelnputStreamB、FileOutputStream
C、DataOutputStreamD、FileWriter
二、填空題
1、假如將類(lèi)MyClass聲明為public,它的文件名稱(chēng)必需是一(MyClass.java)才能
正常編譯。
2、Java程序中的單行注釋符是(〃),多行注釋符是(/**/)o
3、Java中布爾類(lèi)型的常量有兩種,它們是(true)和(false)。
4、Java中用于定義小數(shù)的關(guān)鍵字有兩個(gè):(float)和(double),后者精度高
于前者。
5、Java中用于兩個(gè)數(shù)相等比較的運(yùn)算符是:(==),用于不相等比較的運(yùn)算符是
(<>)o
6、在Java中定義一個(gè)字符串類(lèi)型的變量str的語(yǔ)句是:(Stringstr;),定義一
個(gè)具有10個(gè)元素的整型數(shù)組a的語(yǔ)句是:(int[]arr=newint[101;)。
7、導(dǎo)入mypackage包中的所類(lèi)的叮囑是(importmypacka/e.*;)。
8、當(dāng)聲明一個(gè)數(shù)組intarr[]=newint[5];時(shí),這代表這個(gè)數(shù)組所保存的變量類(lèi)型
是(int),數(shù)組名是(arr),數(shù)組的大小為(5),數(shù)組元素下標(biāo)的運(yùn)用范圍是(0
到4)。
9、假設(shè)x=13,y=4,則表達(dá)式x%y!=0的值是(true),其數(shù)據(jù)類(lèi)型是(boolean)0
10、異樣處理是由(try)>(catch)和finally塊三個(gè)關(guān)鍵所組成的程序塊。
11、以下程序段的輸出結(jié)果是(三角形)
intx=5,y=6,z=4;
if(x+y>z&&x+z>y&&z+y>x)
System,out.printIn:"三角形");
else
System.out.printIn[”不是三角形”);
12、下面程序段的執(zhí)行結(jié)果是(65432)
inta[]={2,3,4,5,6);
for(inti=a.length-1;i>=0;i--)
System,out.print(a;i]+'*");
三、程序閱讀題
1、以下程序的輸出結(jié)果為—Peteris17yearsold!___。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter**,17);
System,out.printIn(c.name+**is"+c.age+"yearsold!");
}
}
2、以下程序的輸出結(jié)果為—課程號(hào):101課程名:ASP學(xué)分:3-o
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
eNumber=number;
cName=name;
cUnit=unit;
)
System,out.printin課程號(hào):"+eNumber+”課程名:"+cName+”學(xué)
分:”+cUnit);
)
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
,,n
c=newCourse(101/“ASP”,3);
c.printCourseInfo();
}
}
3、以下程序的輸出結(jié)果為—湯姆貓?bào)w重:20?0斤
publicclassTom{
privatefloatweight;
privatestaticStringname;
publicvoidsetweight(floatweight){
this.weight=weight;
}
privatevoidout(){
System.out.printin(name+"體重:*'+weight+"斤");
)
publicstaticvoidmain(String[]args){
Tom.name="湯姆貓";
Tomcat=newTom();
cat.setweight(20);
cat.out();
)
}
4、以下程序的輸出結(jié)果_姓名:Tom年齡:15家庭住址:金水區(qū)電話(huà):66123456
學(xué)校:九中二
publicclassFather{
Stringname,address,tel;
intage;
publicFather(Stringricinie,intaye){
=name;
this.age=age;
}
voidout(){
System.out.print("姓名:"+name);
System,out.print(*'年齡:"+age);
)
voidoutOther(){
System.out.print(*'家庭住址:"+address);
System.out.print("電話(huà):"+tel);
}
)
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
)
voidout(){
super.out();
super.outOther();
System.out.printIn學(xué)校:”+school);
}
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("Torn1',15);
son.address="金水區(qū)”;
son.school="九中";
son.tel="66123456”;
son.out();
)
}
5、下列程序的運(yùn)行結(jié)果是_12345—o
publicclassMyClass{
inta[]={1,2,3,5);
voidout(){
for(intj=0;j<a.length;j++)
System.out.print(a[j]十"”);
publicstaticvoidmain(String[]args){
MyClassmy=newMyClass();
my.out();
四、簡(jiǎn)答題
1、簡(jiǎn)述Java中異樣處理的機(jī)制?
答:首先Java的異樣是面對(duì)對(duì)象的。一個(gè)Java的Exception是一個(gè)描述異樣狀
況的對(duì)象.當(dāng)出現(xiàn)異樣狀況時(shí),一個(gè)Exception對(duì)象就產(chǎn)生了.并放到異樣的成員函
數(shù)里。
Java的異樣處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try,calch,lhrow,lhrows和finally0
1.異樣處理:在Java語(yǔ)言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finally三個(gè)塊組成。
其中try塊存放將可能發(fā)生異樣的Java語(yǔ)言,并管理相關(guān)的異樣指針;catch塊
緊跟在iry塊后面,用來(lái)激發(fā)被捕獲的異樣;finally塊包含清除程序沒(méi)有釋放的
資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。
2.拋出異樣:Java語(yǔ)言可以不在方法中干脆捕獲,而用throw語(yǔ)句將異樣拋
給上層的調(diào)用者。Throw語(yǔ)句就是來(lái)明確地拋出一個(gè)異樣;首先你必需得到一個(gè)
Throwable的實(shí)例句柄,通過(guò)參數(shù)傳到catch中,或者接受new操作符來(lái)創(chuàng)建一
個(gè)。
2、什么是繼承?
答:通過(guò)必要的說(shuō)明能夠?qū)崿F(xiàn)某個(gè)類(lèi)無(wú)需重新定義就擁有另一個(gè)類(lèi)的某些屬性和
方法,并把這種關(guān)系稱(chēng)為繼承,先定義的類(lèi)稱(chēng)為父類(lèi),后定義的類(lèi)稱(chēng)為子類(lèi),并
且允許多層的繼承關(guān)系。
3、請(qǐng)簡(jiǎn)述重載和重寫(xiě)的區(qū)分?
答:方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。
重寫(xiě)Overriding是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載Overloading
是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。
假如在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被重
寫(xiě)(Overriding)。子類(lèi)的對(duì)象運(yùn)用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它而
言,父類(lèi)中的定義如同被“屏蔽”了。
假如在一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同
的參數(shù)類(lèi)型,則稱(chēng)為方法的重載(Overloading)°Overloaded的方法是可以變更
返回值的類(lèi)型。
五、程序設(shè)計(jì)題
1、按以下要求編寫(xiě)程序
(1)創(chuàng)建一個(gè)Rectangle類(lèi),添加width和height兩個(gè)成員變量
(2)在Rectangle中添加兩種方法分別計(jì)算矩形的周長(zhǎng)和面積
(3)編程利用Rectangle輸出一個(gè)矩形的周長(zhǎng)和面積
解答:
publicclassRectangle{
floatwidth,height;
publicRectangle(floatwidth,floatheight){
this.width=width;
this.height=height;
}
publicfloatgetLength(){
return(this.width+this.height)*2;
)
publicfloatgetArea(){
returnthis.widthrthis.height;
}
publicstaticvoidmain(String[]args){
Rectanglerect=newRectangle(10,20);
System.out.printin周長(zhǎng)是:”+rect.getLength());
Systam.c".print1n:"面積是:"+rprb.gptArpa());
)
}
2、按以下要求編寫(xiě)程序
(1)編寫(xiě)Animal接口,接口中聲明run()方法
(2)定義Bird類(lèi)和Fish類(lèi)實(shí)現(xiàn)Animal接口
(3)編寫(xiě)B(tài)ird類(lèi)和Fish類(lèi)的測(cè)試程序,并調(diào)用其中的nin()方法
解答:
publicinterfaceAnimal{
voidrun();
}
classBirdimplementsAninal{
publicvoidrun(){
System,out.printIn:''鳥(niǎo)JL*在飛...;
)
)
classFishimplementsAninal{
publicvoidrun(){
System.out.printIn[”魚(yú)兒在游...;
)
}
publicclassTestAnimal{
publicstaticvoidmain(String[]args){
Birdbird=newBird();
bird.run();
Fishfish=newFish();
fish.run();
)
}
3、編寫(xiě)一個(gè)Frame框架應(yīng)用程序,要求如下:
(1)在窗口設(shè)置兩個(gè)菜單“文件”、"編輯
(2)在“文件”菜單里添加三個(gè)菜單項(xiàng)“打開(kāi)”、“保存”、“關(guān)閉”
(3)在“編輯”菜單里添加兩個(gè)菜單項(xiàng)“復(fù)制”、“粘貼”
(4)點(diǎn)擊關(guān)閉菜單項(xiàng)時(shí),使程序關(guān)閉。
解答:
in^>ortjava.awt.Color;
importjava.awt.Frame;
importjava.awt.Menu;
importjava.awt.MenuBar;
inportjava.awt.Menultem;
importjava.awt.event.ActionEvent;
insertjava.awt.event.ActionListener;
inportjava.awt.event.WindowAdapter;
inportjava.awt.event.WindowEvent;
/*
主窗體
publicclassMyFrameextendsFrame{
privatestaticfinallongserialVersionUID=6895463895656626294L;
privateFramefrmMain;//窗體
MenuBarmb;//菜單欄
MenumnuFile;//”文件”菜單
MenumnuEdit;//”編輯”菜單
MenuitemmiOpen;//“打開(kāi)”菜單項(xiàng)
MenuitemmiSave;//”保存”菜單項(xiàng)
MenuitemmiClose;//“關(guān)閉”菜單項(xiàng)
MenuitemmiCopy;//”復(fù)制,,菜單項(xiàng)
MenuitemmiPaste;//“粘貼”菜單項(xiàng)
publicMyFrame(){
frmMain=newFrame("主窗體,*);
//創(chuàng)建菜單欄
mb=newMenuBar();
//創(chuàng)建菜單
mnuFile=newMenu:”文件,*);
mnuEdit=newMenu編輯,');
//創(chuàng)建菜單項(xiàng)
miOpen=newMenu工tem("打開(kāi)");
miSave=newMenu工tem("保存");
miClose=newMenu二tem("關(guān)閉");
miCopy=newMenu工tem("復(fù)制");
miPaste=newMenu二tem(“粘貼”);
publicvoidshowFrame(){
frmMain.setSize(800,600);
frmMain.setLocation(100,100);
frmMain.setBackground(Color.white);
frmMain.setVisible:true);
frmMain.setLayout(null);
frmMain.addWindowListener(newWindowHandler());//注冊(cè)窗口監(jiān)聽(tīng)器
//將菜單欄放入窗體中
frmMain.setMenuBarJmb);
//將菜單放入菜單欄中
mb.add(mnuFile);
mb.add(mnuEdit);
//將菜單項(xiàng)放入菜單中
mnuFile.add(miOpen);
mnuFile.add(miSave);
mnuFile.add(miClose);
mnuEdit.add(miCopy);
mnuEdit.add(miPaste);
〃注冊(cè)動(dòng)作事務(wù)監(jiān)聽(tīng)器
miClose.setActionCommand("miClose_Clicked”);
miClose.addActionListener(newMenuHandler());
}
//定義個(gè)內(nèi)部類(lèi),在這個(gè)類(lèi)中編寫(xiě)窗口關(guān)閉事務(wù)處理程序。
privateclassWindowHandlerextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
System,exit(0);//退出應(yīng)用程序,狀態(tài)碼0表示正常終止,非0表示異
樣終止。
}
)
//定義一個(gè)內(nèi)部類(lèi),在這個(gè)類(lèi)中編寫(xiě)動(dòng)作事務(wù)處理程序。
privateclassMenuHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand()=="miClose_Clicked"){
System,exitJO);//退出應(yīng)用程序
}
}
)
}
publicclassTestMyFrame{
publicstaticvoidmain(String[]args){
//啟動(dòng)主窗體
MyFrameguiWindow=newMyFrame();
guiWindow.showFrame();
}
)
《JAVA語(yǔ)言程序設(shè)計(jì)》期末考試試題及答案4(應(yīng)考
必備題庫(kù))
一、單選題
1、下列程序段執(zhí)行后的結(jié)果是(A)o
Strings=newString(wabcdefg");
for(inti=0;i<s.length();i+=2){
System.out.print(s.charAt(i));
)
A)acegB)ACEGC)abcdefgD)abed
2、有整型數(shù)組:int口x={1235,8,7,2};,則調(diào)用方法Arrays.sort(x)后,數(shù)組x中
的元素值依次是(A).
A)2781235B)1235872
C)3512872D)8712352
3、下面的程序段創(chuàng)建了BufferedReader類(lèi)的對(duì)象in,以便讀取本機(jī)c盤(pán)my文
件夾下的文件l.txtoFile構(gòu)造函數(shù)中正確的路徑和文件名的表示是(C)。
Filef=newFile(填代碼處);
file=newFileReader(f);
in=newBufferedReader(file);
A)H./l.txtnB)"../my/l.txt"C)nc:\\my\\l.txt"D)nc:\my\l.txt"
4、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是(A)。
Stringsl=newString(nabc");
Strings2=newString(,,abcu);
booleanbl=sl.equals(s2);
booleanb2=(sl==s2);
System.out.print(b1+""+b2);
A)truefalseB)falsetrueC)truetrueD)falsefalse
5、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是(B)。
Hashtablehashlable=newHashtable();
hashtable.put(“x”J12345");
hashtable.put("yu;,67890n);
hashtable.put("a',,,,abcdeM);
System.out.println(hashtable.get(Han));
A)aB)abcdeC)12345D)67890
6、下面語(yǔ)句的功能是(A)。
RandomAccessFileraf2=newRandomAccessFile("1.txt'^^rw");
A)打開(kāi)當(dāng)前書(shū)目下的文件l.lxt,既可以向文件寫(xiě)數(shù)據(jù),也可以從文件讀數(shù)據(jù)。
B)打開(kāi)當(dāng)前書(shū)目下的文件l.txt,但只能向文件寫(xiě)入數(shù)據(jù),不能從文件讀取數(shù)據(jù)。
C)打開(kāi)當(dāng)前書(shū)目下的文件l.txt,但不能向文件寫(xiě)入數(shù)據(jù),只能從文件讀取數(shù)據(jù)。
D)以上說(shuō)法都不對(duì)。
7、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是(B)。
Strings=n12345#aaa#bbb#67890H;
intn=s.indexOf("#");
intk=s.indexOf(',#",n+1);
intm=s.indexOf('#",k+1);
Strings2=s.substringfm+1);
System.out.println(s2);
A)123456B)67890C)aaaD)bbb
8、下面程序段執(zhí)行后b的值是(B)。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
9、應(yīng)用程序Test.java的源程序如下,在叮囑行鍵入:
javaTestaaabbc
回車(chē)后輸出的結(jié)果是(A)。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intkl=args.length;
intk2=args[l].length();
System.out.print(k1+"H+k2);
)
)
A)32B)12C)13D)33
10、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是(A)。
intb[][]={{l},{2,2},{2,2,2});
intsum=0;
for(inti=O;i<b.length;i++){
fbr(intj=O;j<b[i].length;j++){
sum*=b[il[jl;
)
}
System.out.println("sum="+sum);
A)32B)llC)2D)3
11、應(yīng)用程序的main方法中有以下語(yǔ)句,則執(zhí)行后輸出的結(jié)果是(D)。
int[]x={125,21,5,168,98);
intmax=x[O];
for(inti=l;i<x.length;i++){
if(x[i]>max)
max=x[i];
)
System.out.println(max);
A)125B)5C)98D)168
12、程序Test.java編譯運(yùn)行后輸出的結(jié)果是(A)。
publicclassTest{
Stringsl="java";
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
)
)
A)java2B)2C)沒(méi)有輸出結(jié)果D)java
13、應(yīng)用程序的main方法中有以下語(yǔ)句,則輸出的結(jié)果是(A)。
Strings1=“0.5“,s2="12";
doublex=Double.parseDouble(s1);
inty=lnteger.parselnt(s2);
System.out.println(x+y);
A)12.5B)120.5C)12D)“12.5”
14、下面的程序創(chuàng)建了一個(gè)文件輸出流對(duì)象,用來(lái)向文件test.txt中輸出數(shù)據(jù),
假設(shè)程序當(dāng)前書(shū)目下不存在文件test.txt,編譯下面的程序Test.java后,將該程序
運(yùn)行3次,則文件test.txt的內(nèi)容是(D)o
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
try(
Strings=uABCDEH;
byteb[]=s.getBytes();
FileOutputStreamfile=newFileOutputStream("test.txt'\true);
file.write(b);
file.closeO;
)
catch(IOExceptione){
System.out.println(e.toStringO);
)
)
)
A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE
15、下面那些方法不是接口Collection中己聲明的方法(C)?
A)添加元素的add(Objectob
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 系泊絞車(chē)行業(yè)深度研究報(bào)告
- 氣相沉積設(shè)備項(xiàng)目可行性研究報(bào)告
- 沖壓廠(chǎng)勞務(wù)合同范本
- 勞務(wù)分包薪資合同范本
- 個(gè)人債務(wù)轉(zhuǎn)移合同范本
- 二手無(wú)產(chǎn)權(quán)房購(gòu)買(mǎi)合同范本
- 供應(yīng)飯店用品合同范例
- 2024年安全準(zhǔn)入考試復(fù)習(xí)測(cè)試卷附答案
- 專(zhuān)用合同范本
- 剪輯兼職合同范例
- 貨運(yùn)有限公司2024年春節(jié)后復(fù)工復(fù)產(chǎn)安全生產(chǎn)方案
- 課程設(shè)計(jì)存在問(wèn)題和建議
- 食品安全員專(zhuān)業(yè)知識(shí)考試題庫(kù)(含答案)
- 和客戶(hù)簽回款協(xié)議書(shū)范本
- 2024年孝感中小學(xué)教師招聘真題
- DBJ50-T-420-2022建設(shè)工程配建5G移動(dòng)通信基礎(chǔ)設(shè)施技術(shù)標(biāo)準(zhǔn)
- 年“春節(jié)”前后安全自查系列用表完整
- 社交禮儀-儀態(tài)禮儀
- 2024暑期夏日露營(yíng)潮趣互動(dòng)音樂(lè)節(jié)(唱享潮夏旋律季)活動(dòng)策劃方案
- 臨床成人ICU患者外周動(dòng)脈導(dǎo)管管理要點(diǎn)
- 2024年長(zhǎng)沙衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
評(píng)論
0/150
提交評(píng)論