計算機程序設(shè)計 java 習(xí)題及答案 單元1-10_第1頁
計算機程序設(shè)計 java 習(xí)題及答案 單元1-10_第2頁
計算機程序設(shè)計 java 習(xí)題及答案 單元1-10_第3頁
計算機程序設(shè)計 java 習(xí)題及答案 單元1-10_第4頁
計算機程序設(shè)計 java 習(xí)題及答案 單元1-10_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算機程序設(shè)計java習(xí)題及答案

單元一Java語言概述

一、填空題

1.Java語言的主要特點包含:、、

、和0

2.Java技術(shù)的開發(fā)平臺分為、、

三類。

3.JDK中javac.exe命令的作用是______________________________

,java.exe命令的作用是

_____________________________________________________________________________________O

二、簡答題

1.搭建Java開發(fā)環(huán)境時,環(huán)境變量CLASSPATH和PATH的作用分

別是什么?

2.請簡述Java程序的開發(fā)過程,JVMCJava虛擬機)的作用是什么?

三、編程題

1.編寫一個簡單的Java程序,在屏幕上輸出“這是我的第一個Java

程序”。

單元二Java語言開發(fā)基礎(chǔ)

四、選擇題

1.下面哪些Java標(biāo)識符是正確的?

A.MyWorldB.parseXML

C.-valueD.&maybe

2.下面哪些是Java的關(guān)鍵字?

A.ClassB.Int

C.SwitchD.else

3.設(shè)a=3,b=4,則表達式b!=3&&5/a>a+b的結(jié)果為?

A.trueB.false

C.1D.2

4.下列哪些語句能正常通過編譯?

A.bytei=127;

B.bytej=128;

C.long11=999999;

D.long12=9999999999;

5.下面關(guān)于for循環(huán)和while循環(huán)的說法,哪個是正確的?

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

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

非程序結(jié)果

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

D.兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空

6.下列敘述中,正確的是?

A.Java語言的標(biāo)識符是區(qū)分大小寫的

B.源文件名與public類名可以不相同

C.源文件擴展名為.class

D.源文件中public類的數(shù)目不限

7.在Java中,表示換行符的轉(zhuǎn)義字符是?

A.\nB.\fC.'n'D.\dd

8.有語句float[]f=newfloat[10J,則f[0]的值為?

A.0.0

B.O.Of

C.null

D.false

9.swtich(expression)語句中表達式的類型可以是?

A.String

B.char

C.short

D.double

五、填空題

4.Java語言的基本數(shù)據(jù)類型包含、

、、、

和0

5.Java語言的復(fù)合數(shù)據(jù)類型包含、

______________________________O

6.Java的語句控制結(jié)構(gòu)分為、、—

三種。

六、簡答題

3.Java語言中關(guān)于標(biāo)識符的命名規(guī)則是什么?

4.簡述while和do...while語句的區(qū)別?

5.簡述break和continue語句的作用和不同?

七、編程題

2.編程實現(xiàn)在屏幕上打印輸出9*9乘法表。

3.編程求三個整數(shù)中的最大值,要求使用三目運算符實現(xiàn)。

單元三面向?qū)ο蠡A(chǔ)知識

八、選擇題

10.類與對象的關(guān)系是?

A.類是對象的抽象

B.類是對象的具體實例

C.對象是類的抽象

D.對象是類的子類

11.下面關(guān)于java中類的說法哪個是不正確的?

A.類體中只能有變量定義和成員方法的定義,不能有其他語句

B.構(gòu)造方法是類中的特殊方法

C.類一定要聲明為public才可以執(zhí)行

D.一個java文件中可以有多個class定義

12.以下關(guān)于構(gòu)造方法的描述錯誤的是?

A.構(gòu)造方法的返回類型只能是void型

B.構(gòu)造方法是類的一種特殊方法,它的方法名必須與類名相同

C.構(gòu)造方法的主要作用是完成對類的對象的初始化工作

D.一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造方法

13.下列關(guān)于構(gòu)造方法調(diào)用方式的描述正確的是?

A.按照一般方法調(diào)用

B.由用戶直接調(diào)用

C.只能通過new自動調(diào)用

D.被系統(tǒng)調(diào)用

14.假設(shè)A類有如下定義,a是A類的一個對象,下列語句調(diào)用錯誤

的是?

classA{

inti;

staticStrings;

voidmethod1(){}

staticvoidmethod2(){}

)

A.System.out.println(a.i);B.a.methodi();

C.A.method1();D.A.method2();

15.在Java中,關(guān)于final關(guān)鍵字的說法正確的是?

A.如果修飾變量,則一旦賦了值,就等同一個常量

B.如果修飾類,則該類只能被一個子類繼承

C.如果修飾方法,則該方法能在子類中被覆蓋

D.如果修飾方法,則該方法所在的類不能被繼承

16.下面關(guān)于變量及其作用范圍的描述哪個是不正確的?

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

B.實例變量用關(guān)鍵字static聲明

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

D.局部變量在使用前必須被初始化

17.關(guān)于main方法的方法頭,以下哪項是合法的?

A.publicstaticvoidmain()

B.publicstaticvoidmain(String[]args)

C.publicstaticintmain(String[]args)

D.publicvoidmain(Stringarg[])

18.在Java中,一個類可同時定義許多同名的方法,這些方法的參數(shù)

個數(shù)、類型或順序各不相同,返回類型也可以不相同。這種面向

對象程序的特性稱為?

A.隱藏B.覆蓋C.重載D.Java不支持此特性

九、簡答題

6.簡述Java中構(gòu)造方法的概念及特點?

7.Java中static修飾的方法、變量各有什么特點?

十、編程題

4.編寫程序,創(chuàng)建一個類Car,類中有3個成員變量,name:汽車

的品牌;color:汽車的顏色;weight:汽車的重量;類中包含一

個構(gòu)造方法,用來初始化3個變量。在main方法中創(chuàng)建類Car的

1個對象(品牌:“奧迪”;顏色:“黑色”;重量:1600公斤),并

將該對象的基本信息打印輸出。

單元四面向?qū)ο蟾呒壧匦?/p>

H^一、選擇題

19.下列選項中,子類繼承父類時使用的關(guān)鍵字是?

A.package

B.interface

C.class

D.extends

20.下列哪項描述是正確的?

A.子類的構(gòu)造方法與父類的構(gòu)造方法同名

B.子類可以繼承父類的所有方法

C.子類不一定能繼承父類的所有方法

D.子類可以繼承父類protected和private修飾的方法

21.下列關(guān)于關(guān)鍵字this和super的說法正確的是?

A.this用來調(diào)用父類的方法和變量

B.super用來調(diào)用本類中的方法

C.super用來調(diào)用父類的方法和變量

D.沒有區(qū)別

22.一個非抽象子類,如果要實現(xiàn)某個接口,那么?

A.必須實現(xiàn)該接口中的所有抽象方法

B.可以實現(xiàn)部分抽象方法

C.可以不實現(xiàn)任何抽象方法

D.無所謂

23.以下關(guān)于接口和類的說法正確的是?

A.接口和類都可以實現(xiàn)多重繼承

B.子類可以繼承多個父類

C.子類可以實現(xiàn)多個接口

D.一個子類不能同時繼承某一個父類和實現(xiàn)某一個接口

24.Java中一個子類要實現(xiàn)一個父接口,要使用哪個關(guān)鍵字?

A.import

B.extends

C.implements

D.interface

十二、編程題

5.定義一個抽象類Shape,它包含一個抽象方法getArea(),再定義

兩個類Rectangle和Circle繼承于Shape,并實現(xiàn)getArea。方法計

算具體圖形的面積。編寫測試類創(chuàng)建Rectangle和Circle類的對象,

并輸出對象的面積。

6.定義接口A,接口內(nèi)有兩個方法:methodl(intx,inty)和method2(int

x,inty),它們的返回類型都為int。然后編寫一個類B實現(xiàn)接口A,

在類B中實現(xiàn)方法methodi(intx,inty)用于求x的y次方,實現(xiàn)

方法method2(intx,inty)用于求兩個參數(shù)的最大值。編寫一個測

試類,創(chuàng)建對象分別調(diào)用兩個方法。

單元五包、數(shù)組和字符串

十三、選擇題

25.import語句的作用是?

A.導(dǎo)入包中成員

B.創(chuàng)建包

C.既可導(dǎo)入包成員,也可創(chuàng)建包

D.訪問控制

26.關(guān)于包的描述錯誤的是?

A.包可以將相關(guān)的類和接口組織在一起,便于識別和管理

B.包中的類可以訪問同一包的其它類的私有成員

C.不同包中的相同命名,不會產(chǎn)生沖突

D.用public修飾的頂級類和接口對包外代碼也可見

27.關(guān)于被私有訪問控制符private修飾的成員變量,以下說法正確的

是?

A.可以被該類自身、與它在同一個包中的其他類、在其他包中

的該類的子類所引用

B.可以被該類本身、該類的所有子類訪問和引用

C.只能被該類自身所訪問和修改

D.只能被同一個包中的類訪問

28.System類在哪個包中?

A.java.util

B.java.io

C.java.awt

D.java.lang

29.下面的程序段輸出的結(jié)果是?

Stringsl="Java",s2="java";

System.out.println(s1.equalsIgnoreCase(s2));

A.true

B.false

C.Java

D.java

30.下面的程序段執(zhí)行完后,cont的值是多少?

Stringstrings[]={"string","starting","strong","street","soft"};

intcont=0;

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

if(strings[i].endsWith("ng"))

cont++;

A.1

B.2

C.3

D.4

31.下面程序段的輸出結(jié)果是?

StringBufferbufl;

Stringstr="北京2008";

bufl=newStringBuffer(str);

System.out.println(bufl.charAt(2));

A.2

B.京

C.0

D.null

十四、簡答題

7.舉例說明String和StringBuffer的區(qū)別及主要應(yīng)用場合?

十五、編程題

1.編程實現(xiàn)將從鍵盤輸入的文本中的長度大于5的單詞保存在一個

字符串?dāng)?shù)組中,并實現(xiàn)打印輸出該數(shù)組的各個字符串。

單元六Java的異常處理

十六、選擇題

32.為了捕獲一個異常,產(chǎn)生異常的代碼必須放在下面哪個語句塊

中?

A.try塊

B.catch塊

C.throws

D.finally塊

33.下面關(guān)于try塊的說法正確的是?

A.try塊后至少應(yīng)有一個catch塊

B.try塊后必須有finally塊

C.可能拋出異常的代碼應(yīng)放在try塊中

D.對拋出的異常的處理應(yīng)放在try塊中

34.finally塊中的代碼將?

A.總是被執(zhí)行

B.如果try塊后面沒有catch塊時,finally塊中的代碼才會執(zhí)行

C.異常發(fā)生時才被執(zhí)行

D.異常沒有發(fā)生時才被執(zhí)行

35.閱讀下面的程序,選擇正確的說法?

classA{

publicstaticvoidmain(Stringargs[])throwsException{

method();

}

staticvoidmethod()throwsException{

try(

System.out.print("try:performed\t");

)

finally{

System.out.print("finally:alwaysperformed");

)

)

)

A.編譯該程序產(chǎn)生編譯錯誤,因為method。拋出異常,而調(diào)用它

時沒有進行處理

B.程序編譯成功,運行該程序輸出:try:performedfinally:al

waysperformed

C.程序編譯成功,運行該程序輸出:try:performed

D.程序編譯成功,運行該程序輸出:finally:alwaysperformed

十七、簡答題

8.簡述Java中異常的分類情況?

9.簡述Java的異常處理機制?

十八、編程題

2.編寫一個應(yīng)用程序,要求程序中能產(chǎn)生ArraylndexOutOfBoundsE

xception異常,并對異常進行捕獲處理。

3.編寫一個應(yīng)用程序,要求程序中能產(chǎn)生NullPointerException異常,

并對異常進行捕獲處理。

單元七Java的輸入輸出

十九、選擇題

36.下面哪種流可以用于字符輸入?

A.java.io.InputStream

B.java.io.OutputStream

C.java.io.InputstreamReader

D.java.io.OutputStreamReader

37.下面哪個類不能直接讀取磁盤文件?

A.FileReader

B.RandomAccessFile

C.FilterReader

D.FilelnputStream

38.下面類中屬于字節(jié)I/O流的是?

A.FileReader

B.FilelnputStream

C.BufferedOutputStream

D.BufferedWriter

39.下面哪些代碼是正確的?

A.Filef=newFile("/",''java.txt'');

B.DatalnputStreamd=newDatalnputStream(System.in);

C.OutputStreamWritero=newOutputStreamWriter(System.out);

D.RandomAccessFiler=newRandomAccessFile(t€java.txf,);

二十、編程題

4.編寫應(yīng)用程序,使用System.in.read。方法讀取用戶從鍵盤輸入的

字節(jié)數(shù)據(jù),回車后,把從鍵盤輸入的數(shù)據(jù)存放到數(shù)組inArray中,

并將用戶輸入的數(shù)據(jù)保存到指定的文件中。

5.編寫應(yīng)用程序,使用FilelnputStream類把指定目錄下的文件內(nèi)容

讀取到字節(jié)數(shù)組中,并顯示在屏幕上。

6.編寫應(yīng)用程序,把某個指定目錄下的所有.txt文件合并為一個.txt

文件。

單元八圖形用戶界面

二H—、選擇題

40.在Java圖形用戶界面編程中,如果需要顯示信息,一般使用哪個

類的對象來實現(xiàn)?

A.JLabel

B.JButton

C.JTextArea

D.JTextField

41.創(chuàng)建一個標(biāo)識有“開始”按鈕的語句是?

A.JTextFieldb=newJTextField("開始”);

B.JLabelb=newJLabel("開始”);

C.JCheckboxb=newJCheckbox(“開始,);

D.JButtonb=newJButton("開始”);

42.如果希望所有的控件在界面上均勻排列,應(yīng)使用下列哪種布局管

理器?

A.BoxLayout

B.GridLayout

C.BorderLayout

D.FlowLayout

43.在下列事件處理機制中哪個不是機制中的角色?

A.事件

B.事件源

C.事件接口

D.事件處理者

44.在GUI控件的事件處理中,事件源與監(jiān)聽器之間的關(guān)系是?

A.一對一

B.一對多

C.多對一

D.多對多

二十二、編程題

7.編寫窗口程序,包含一個標(biāo)簽、一個文本框和一個按鈕,當(dāng)用戶

單擊按鈕時,程序把文本框中的內(nèi)容提取到標(biāo)簽中。

8.編程實現(xiàn)帶菜單的窗口,包含“File”和“Edit”二個菜單,在

“File”下又包含“New”,“Open”,“Exit”三個菜單項,選擇“Exit”項

時退出應(yīng)用程序。

單元九Java多線程

二十三、選擇題

45.執(zhí)行下列哪項操作會使線程停止?

A.調(diào)用該線程的halt。方法

B.調(diào)用該線程的stop()方法

C.為另一個線程指定更高的優(yōu)先級

D.調(diào)用System.exit(O);

46.下列關(guān)于Java線程的說法哪些是正確的?

A.每一個Java線程可以看成由代碼、一個真實的CPU以及數(shù)據(jù)

三部分組成

B.創(chuàng)建線程的兩種方法中,繼承Thread類的創(chuàng)建方式可以防止

出現(xiàn)多父類問題

C.Thread類屬于java.util程序包

D.以上說法無一正確

47.以下哪個方法用于定義線程的執(zhí)行主體?

A.start()

B.init()

C.run()

D.main()

48.下面哪個是Runnable接口中的抽象方法?

A.start()

B.run()

C.stop()

D.yield()

49.下面哪個選項能正確創(chuàng)建Socket連接?

A.Sockets=newSocket(8080);

B.Sockets=newSocket,7”,”8080'');

C.SocketServers=newSocket(8080);

D.Sockets=newSocketServer。'”,”8080'');

二十四、填空題

1.在TCP/IP中,是由IP地址與端口號組成的。

2.編寫網(wǎng)絡(luò)服務(wù)器程序時,使用類來創(chuàng)建服務(wù)器

端的連接。

3.關(guān)閉套接字需要使用方法。

二十五、簡答題

1.線程的5個狀態(tài)分別是什么,它們之間如何轉(zhuǎn)換?

2.簡述Socket的連接過程?

3.簡述TCP和UDP協(xié)議的不同?

二十六、編程題

9.編寫程序,通過創(chuàng)建實現(xiàn)Runnable接口的多線程實現(xiàn)在窗口中顯

示一個計數(shù)器(從1開始,每隔1秒,顯示數(shù)字加1)。

單元十?dāng)?shù)據(jù)庫編程技術(shù)

二十七、填空題

1.Java數(shù)據(jù)庫編程中使用方法打開數(shù)據(jù)庫連接。

2.使用JDBC技術(shù)進行數(shù)據(jù)庫編程的幾個主要步驟為:加載驅(qū)動程

序、、、o

二十八、選擇題

50.建立Statement對象的作用是?

A.連接數(shù)據(jù)庫

B.聲明數(shù)據(jù)庫

C.執(zhí)行SQL語句

D.保存查詢結(jié)果

51.建立ResultSet對象的作用是?

A.連接數(shù)據(jù)庫

B.聲明數(shù)據(jù)庫

C.執(zhí)行SQL語句

D.保存查詢結(jié)果

二十九、編程題

10.編寫程序?qū)崿F(xiàn)對一個Access數(shù)據(jù)庫的連接和訪問,要求查詢數(shù)據(jù)

庫中表user的全部記錄,并打印出來。

答案

單元一習(xí)題答案

1.Java語言有哪些特點?

答:面向?qū)ο?、簡單、平臺無關(guān)性、安全性、內(nèi)存管理、分布式應(yīng)用、多線程、動態(tài)、解釋運行,高

效能

2.什么叫做類?什么叫做對象?

答在面向?qū)ο筠A中,具體的客骸體稱為血對象就髏擷昉法,對象錨種是a過-不抽

象數(shù)據(jù)類型來描述的,這種抽象數(shù)據(jù)類型稱為類。類是對具有相同屬性和方法的一組相似對

象的抽象,或者說類是對象的模板。

3.簡述Java的運行機制。

答:Java程序的運行必須經(jīng)過編寫、編譯、運行三個步驟。編寫是指在

Java開發(fā)環(huán)境中進行程序代碼的輸入過程,最終形成后綴名為.java的Java源文件。編譯

是指使用Java編譯器對源文件進行錯誤排查的過程,編譯后將生成后綴名為.class的字節(jié)

碼文件。運行是指使用Java解釋器將字節(jié)碼文件翻譯成機器代碼,在cpu上運行并顯示結(jié)

果的過程。

4.簡述Java應(yīng)用程序的開發(fā)流程。

答:Java應(yīng)用程序的運行經(jīng)過編寫、編譯、運行三個步驟。

第1步,編寫程序。使冊己事本或其碩:岬寫程序的源代碼,將源代碼保存為文件java

文件。

第2步,編譯程序。在MS-DOS命令窗口,將當(dāng)前目錄轉(zhuǎn)換到Java源程序所在的保存目錄;

輸入“javacfilename.javaw形式的命令進行程序編譯。

第3步,執(zhí)行程序。在同樣的命令窗口中輸入“javafilename”形式的命令執(zhí)行程序。

完成了程序的開發(fā),查看相應(yīng)t目錄,其中應(yīng)該具有兩個文件,分別是XXXX.java和

XXXX.class?

5.C

6.b

7.a

8.Java程序的種類有:AppletApplicationServlets

9.軟件模型

10.正確

單元二習(xí)題答案

一、選擇題

1-5>CCCBB6-10BABCB11-15CAADD16-21ADDADA

二、填空題

1、$2、true3、154、float5、i<=10

三、編程題

1、答

classisPrime(

publicstaticvoidmain(String口args){

for(doublei=1;i<101;i++){

booleanflag=false;

for(intj=2;j<i;j++){

==0){

flag=true;

}

}

if(!flag){

System,out.print((int)i+〃\t〃);

}

)

)

)

2、答:

publicclassexample{

publicstaticvoidmain(String]]args){

doublesum=100,num=100;

for(inti=2;i<=10;i++){

num=(double)(num/2);

sum+=2*num;

}

System.oul.printin(〃第10次落地時,共經(jīng)過"+sum+"米,第10次反彈〃+num+"米");

}

)

3、答:

importjava.util.Scanni

publicclassBouns{

publicstaticvoidmain(String[]args){

System.out.printIn(〃請輸入您的利潤:〃);

Scanneru\=newScanner(System,in);

intprofit=in.nextlnt();

doublereward=0;

intsumReward=profit;//in.nextlnt();

if(profit>1000000){//高于100萬元時,超過100萬元的部分按1%提成,

reward=(profit-1000000)*0.01;

profit=profit-1000000;

System,out.printin(reward);

)

if(profit>600000){//607J到100萬之間時,高于60萬元的部分,可提成1.5%,

reward=reward+(profit-600000)*0.015;

profit=profit-600000;

System,out.printin(reward);

)

if(profit>400000){〃40萬到60萬之間時高于40萬元的部分,可提成3%;

reward=reward+(profit-400000)*0.03;

profit=profit-400000;

System,out.printin(reward);

)

if(profit>200000){〃20萬到40萬之間時,高于20萬元的部分,可提成5斬

reward=reward+(profit-200000)*0.05;

profit=profit-200000;

System,out.printin(reward);

)

if(profit>100000){//利潤高于10萬元,低于20萬元時,高于10萬元的部分,*

可提成7.5%;

reward=reward+(profit-100000)*0.075;

profit=profit-100000;

System,out.printin(reward);

)

if(profit>0){〃低于10萬元的部分按10%提成,

reward=reward+profit*0.1;

System,out.printin(reward);

)

//if(profit>0){}

System,out.printin(〃您的利潤是:〃+sumReward+〃元〃);

System.out.printin(〃您的獎金是:〃+reward+〃元〃);

//System,out.print]n(reward);

//System,out.print1n(sumReward);

}

)

4、答:

classProgram{

publicstaticvoidmain(String[]args){

intsum=SumPeach(Y);

System.out.printin(〃第一天摘得桃子有:〃+sum);

)

〃遞歸

staticintSumPeach(intday)

(

if(day=10)

return1;

return2*SumPeach(day+1)+2;

)

)

5、答:

publicclassPersonAge{

staticintgetAge(intn){

if(n==l){

return10;

}

return2+getAge(nT);

}

publicstaticvoidmain(String[]args){

System.out.printin(〃第五個的年齡為:〃+ge〃ge(5));

)

單元三習(xí)題答案

一、選擇題

1、B2、C3、C4、BC5、B6、B7、C

二、編程題

1>答:

publicclassBox{

privatedoublelength;

privatedoublewidth;

privatedoubleheight;

publicstaticvoidmain(String[]args){

Boxbox二newBox(5,10,2);

System.out.printIn(box.volume());

publicBox(doublelength,doublewidth,doubleheight){

super();

this,length=length;

this,width=width;

this,height=height;

)

publicdoublevolume(){

returnlength*width*height;

)

)

2、答:

publicclassStudent{

floatscore;

staticfloattotal;

staticintcount;

publicstaticvoidmain(String口args){

Studentsi=newStudent();

Students2=newStudent();

si.scoretotalcount(80);

s2.scoretotalcount(90);

System,out,printin(〃總?cè)藬?shù)是〃+Student.cow?什〃總分數(shù)是〃+Student.su加()+“

平均分是〃+Student.average^);

}

voidscoretotalcount(floats){

this,score二s;

total-total^-score;

counts\

}

staticfloatsum(){

returntotal\

)

staticfloataverage(){

returntotai/count;

)

)

3、答:

publicclassStudents{

privateStringname;

privateStringno;

privatecharsex;

privateintage;

publicStringgetName(){

returnname;

)

publicvoidsetName(Stringname){

this,name=name;

}

publicStringgetNoO{

returnno;

)

publicvoidsetNo(Stringno){

this,no=no;

)

publicchargetSexO{

returnsex;

)

publicvoidsetSex(charsex){

this.sex=sex;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this,age=age;

}

)

4、答:

publicclassStudents{

privateStringname;

privateStringno;

privatecharsex;

privateintage;

publicStudents(Stringname,Stringno,charsex,intage)

super();

this,name=name;

this.no=no;

this.sex=sex;

this.age=age;

)

publicStudents(Stringno){

super();

this,no=no;

)

publicStudents(Stringname,Stringno){

super();

this,name=name;

this,no=no;

)

publicStudents(Stringname,Stringno,charsex){

super();

this,name=name;

this,no=no;

this,sex=sex;

publicStringgetName(){

returnname;

)

publicvoidsetName(Stringname){

this,name=name;

)

publicStringgetNoO{

returnno;

)

publicvoidsetNo(Stringno){

this.no=no;

)

publicchargetSexO{

returnsex;

}

publicvoidsetSex(charsex){

this,sex=sex;

}

publicintgetAge0{

returnage;

)

publicvoidsetAge(intage){

this,age=age;

)

)

單元4習(xí)題答案

一、選擇題

1、A2、C3、C4、C5、A

二、簡答題

1、答:所謂多態(tài)是為類創(chuàng)建多個同名的方法。

可以通過子類改寫父類的方法實現(xiàn)多態(tài)。也可以通過方法重載來實現(xiàn)多態(tài)。

2、答:繼承是一個類可以獲得另一個類的特性機制,在原有類的基礎(chǔ)上,經(jīng)過適當(dāng)?shù)?/p>

擴充和完善可以派生出新的類。

通過類的繼承關(guān)系可以實現(xiàn)程序代碼的重用,避免重復(fù)設(shè)計,提高軟件開發(fā)效率。通過

繼承還可以在代碼中利用多態(tài)。

3、答:兩者相似之處在于:抽象類和接口都不能實例化,兩種都是java實現(xiàn)抽象的方

不同之處:一語法層面1抽象類可以構(gòu)造方法可以有普通成員變量可以包含非法抽象

的普通方法二接口類不可以二思想層面1抽象類在Java體現(xiàn)了一種繼承關(guān)系抽象類和

派生類之間必須存在“is-a”關(guān)系對于interface來說則不然

4、答:訪問控制符是一組限定類、域或方法是否可以被程序里的其他部分訪問和調(diào)用

的修飾符。類的訪問控制符public能被所有的其他類所引用

域或方法的訪問控制符publicprivateprotecedprivateprotected

另外還有一種沒有定義專門的訪問控制符的缺省情況、該類只能被同一個包中的類訪問

和引用。

三、編程題

1、答:

interfaceFun{

publicabstractvoidf(intx);

publicabstractvoidg(intx,inty);

publicabstractdoubleh(doublex);

)

classshuzuimplementsFun{

publicvoidf(intx)(

System,out.println(x);

}

publicvoidg(intx,inty){

System,out.println(x+y);

}

publicdoubleh(doublex){

returnx;

}

publicstaticvoidmain(String[]args){

Funsz=newshuzu();

sz.f(1);

sz.g(2,3);

System,out.println(sz.h(3.0));

}

}

abstractclassArea

{

publicabstractdoublearea();

}

classTriangleextendsArea

(

privatedoublea,b,c;

publicTriangle(doublea,doubleb,doublec)

(

this,a=a;this,b=b;this,c=c;

}

publicdoublearea()

(

doublep=(a+b+c)/2;

returnMath.sqrt(p*(p-a)*(p-b)*(p-c));

}

)

classRectangleextendsArea

(

privatedoublewidth,height;

publicRectangle(doublej,doublek)

(

width=j;height=k;

)

publicdoublearea()

(

returnwidth*height;

)

)

classSquareextendsArea

(

privatedoubler;

publicSquare(doubler)

{

this,r=r;

publicdoublearea()

returnr*r;

}

)

2、答:

classDog{

privateStringname;

privateStringeyecolor;

publicDog(Stringeyecolor)(

this,name=name;

this,eyecolor=eyecolor;

)

publicDog(){

name=z,dahuang”;

eyecolor="blue";

}

publicStringgetname()

{returnname;

)

)

單元5習(xí)題答案

1.從命令行得到5個整數(shù),放入一整型數(shù)組,然后打印輸出,要求:如果輸入數(shù)據(jù)不為整

數(shù),要捕獲Integer.parselntO產(chǎn)生的異常,顯示“請輸入整數(shù)”,捕獲輸入?yún)?shù)不足

5個的異常(數(shù)組越界),顯示“請輸入至少5個整數(shù)工

publicclassdemo

{publicstaticvoidmain(Stringargs[])

(

intnumbers[]=newint[5];

for(inti=0;i<5;i++)

(

Stringstr二〃〃;

try//one

(

str=args[i];

)

catch(IndexOutOfBoundsExceptione)

(

System.out.printin("請你輸入至少5個整數(shù)〃);

try//two

(

numbers[i]=Integer.parselnt(str);

)

catch(NumberFormatExceptione)

(

System,out.printin(〃請輸入的全部都是數(shù)字串〃);

)

)

}

}2.現(xiàn)在有如下的一個數(shù)組:

intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

要求將以上數(shù)組中值為0的項去掉,將不為0的值存入一個新的數(shù)組,生成的新數(shù)組為:

intnewArr=3,4,5,6,6,5,4,7,6,7,5);

publicclassaa{

publicstaticvoidmain(Stringargs[])

(

intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5);

intnewArr[]=newint[count(oldArr)];//新數(shù)組

fun(oldArr,newArr);

print(newArr);

)

publicstaticvoidfun(intsrc[],intdata[]){

intfoot=0;//控制新數(shù)組的腳標(biāo),data

for(intx=0;x<src.length;x++){

if(src[x]!=0){

data[foot++]=src[x];

)

}

publicstaticintcount(inttempi]){

intnum=0;

for(intx=0;x<temp,length;x++){

if(temp[x]!=0){

num++;〃統(tǒng)計個數(shù)

)

)

returnnum;

)

publicstaticvoidprint(inttemp[])(

for(intx=0;x<temp,length;x++){

System,out.print(temp[x]+"、〃);

}

}

}

3.現(xiàn)在給出兩個數(shù)組:

?數(shù)組A:“1,7,9,11,13,15,17,19:;

?數(shù)組b:“2,4,6,8,10”

兩個數(shù)組合并為數(shù)組c,按升序排列。

publicclassTestArray{

publicstaticvoidmain(String1]args){

int[]a=newint[]{0,1,2,3,4,5,6,7,8,9);〃初始化a數(shù)組

int[]b=newint□{11,12,12,13,13,14,14,15,15};〃初始化b數(shù)組

int[]c=newint[a.length+b.length];〃讓c的長度等于a與b

之和

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

c[i]=a[i];〃將a放入c

)

for(intj=a.length;j<c.length;j++){

c[j]=b[j-a.length];〃將b放入c

)

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

System,out.print(c[i]+〃〃);〃打印出來

4.整理字符串將前后空白刪去。并把中間的多個空白保留一個。

publicclassDeleteExtraSpace{

publicstaticvoidmain(String1]args){

String[]strs={"","a",

“helloworld",

};

for(Stringstr:strs){

Stringstr2=str.trim().replaceAl1C+〃,〃"

);

System,out.printIn(str2+/z,length2="+str2.length

0);

Stringstr3=delet

eExtraSpace(str);

System,out.printIn(str3+z/,Iength3=,,+str3.length

0);

System,out.println(str2.equals(str3));

System,out.printIn(,,====-=============~====z");

)

)

publicstaticStringdeleteExtraSpace(Stringstr){

if(str二二null){

returnnull;

)

if(str.length()==0IIstr.equals(z,〃)){

returnnewString();

)

chart]oldStr=str.toCharArray();

intlen=str.length();

char[]tmpStr=newchar[len];

booleankeepSpace=false;

intj=O;//theindexofnewstring

for(inti=0;i<len;i++){

chartmpChar=oldStr[i];

if(oldStr[i]!='){

tmpStr[j++]=tmpChar;

keepSpace二true;

}elseif(keepSpace){

tmpStr[j++]=tmpChar;

keepSpace=false;

)

)

//unlikec/c++,no〃\0〃attheendofa

string.So,dothecopyagain...

intnewLen=j;

if(tmpStr[j-l]==,'){

newLen一一;

)

char[]newStr=newchar[newLen];

for(inti=0;i<newLen;i++){

newStr[i]=tmpStr[i];

}

returnnewString(newStr);

}

)

5.編寫一個程序?qū)崿F(xiàn)包的功能。

packagecom.etoak;

publicclassTestPackage{

publicstaticvoidmain(String[]args){

System.out.printin(〃闡述打包語句的作用");

)

}

單元6習(xí)題答案

1、調(diào)試并運行一段java程序,創(chuàng)建一個自定義異常類,并在一個方法中拋出自定義異常

對象,在該方法的catch處理程序中捕獲它并重新拋出,讓調(diào)用它的方法

1、進入java編程環(huán)境。

2、新建一個java文件,命名為abc.java

3、輸以下程序代碼,理解異常的拋出、捕捉與處理

publicclassbca

{

publicstaticvoidmain(Stringargs[])

{

Inta=3,b=0;

A=15/b;

System,out.println("a=”+a);

}

}

publicclassabc

(

staticvoidshow()

(

Try(

thrownewNullPointException(“demo”);

Catch(NullPointExceptione)

System.out.printin(“捕捉內(nèi)部異?!?;

throwe;

)

)

publicstaticvoidmain(Stringargs)

(

try{

Show();

catch(NullPointerExceptione)

System,out.printin("再次捕捉異常:"+e);

)

)

)

publicstaticvoidmain(Stringargs[])

intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}

intnewArr[]=newint[count(oldArr)]//新數(shù)組

fun(oldArr,newArr)

print(newArr)

)

publicstaticvoidfun(intsrc[],intdata[]){

intfoot0//控制新數(shù)組的腳標(biāo),data

for(intx0x<src.length;x++){

if(src[x]!0)(

data[foot++]src[x]

)

}

}

publicstaticintcount(inttemp[]){

intnum=0

for(intx0x<temp,length;x++){

if(temp[x]0)(

num++//統(tǒng)計個數(shù)

returnnum

publicstaticvoidprint(inttemp[]){

for(intx=0x<temp,lengthx++){

System,out.print(temp[x]+〃、〃)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論