Java語言程序設(shè)計(jì)第版第章 課后習(xí)題答案_第1頁
Java語言程序設(shè)計(jì)第版第章 課后習(xí)題答案_第2頁
Java語言程序設(shè)計(jì)第版第章 課后習(xí)題答案_第3頁
Java語言程序設(shè)計(jì)第版第章 課后習(xí)題答案_第4頁
Java語言程序設(shè)計(jì)第版第章 課后習(xí)題答案_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章Java語言概述

選擇題

1-1在下列概念中,Java語言只保留了(B)

A.運(yùn)算符重載B.方法重載

C.指針D.結(jié)構(gòu)和聯(lián)合

1-2下列關(guān)于Java語言特性的描述中,錯(cuò)誤的是(D)

A.支持多線程操作

B.Java程序與平臺無關(guān)

C.Java和程序可以直接訪問Internet上的對象

D.支持單繼承和多繼承

1-3下列關(guān)于JavaApplication程序在結(jié)構(gòu)上的特點(diǎn)的中,錯(cuò)誤的是(C)

A.Java程序是由一個(gè)或多個(gè)類組成的

B.組成Java程序的若干個(gè)類可以放在一個(gè)文件中,也可以放在多個(gè)文件中

C.Java程序的文件名要與某個(gè)類名相同

D.組成Java程序的多個(gè)類中,有且僅有一個(gè)主類

l-4Java程序經(jīng)過編譯后生成的文件的后綴是(C)

A..nhjR..exeC..classDjava

1-5下列關(guān)于運(yùn)行字節(jié)碼文件的命令行參數(shù)的描述中,正確的是(A)

A.第一個(gè)命令行參數(shù)(緊跟命令字的參數(shù))被存放在args[0]中

B.第一個(gè)命令行參數(shù)被存放在args[l]中

C.命令行的命令字被存放在args[0]中

D.數(shù)組.args[]的大小與命令行參數(shù)的個(gè)數(shù)無關(guān)

判斷題

1-1JavaC++的語言之前問世的。(錯(cuò))

1-2Java語言具有較好的安全性和可移植性及與平臺無關(guān)等特性。(對)

1-3Java語言中取消了聯(lián)合的概念,保留了結(jié)構(gòu)概念。(借)

1-4Java語言中數(shù)據(jù)類型占內(nèi)在字節(jié)數(shù)與平臺無關(guān).(對)

1-5Java語言中可用下標(biāo)和指針兩種方式表示數(shù)組元素。(錯(cuò))

1-6Java語言的源程序不是編譯型的,而是編譯解釋型的。(對)

1-7操作系統(tǒng)中進(jìn)程和線程兩個(gè)概念是沒有區(qū)別的。(錯(cuò))

1-8Java語言既是面向?qū)ο蟮挠质敲嫦蚓W(wǎng)絡(luò)的高級語言。(對)

1-9Java程序分為兩大類:一類是Application程序,另一類是Applet程序。前者乂稱Java應(yīng)用程序,

后者又稱為Java小應(yīng)用程序。(對)

1-10JavaApplication程序是由多個(gè)文件組成的,其中可以有也可以沒有主文件。(錯(cuò))

1-11組成JavaApplicaiion的若干類中,有且僅有一個(gè)主類,只有主類中含有主方法main])。(對)

1-12JavaApplication程序中,必有一個(gè)主方法main(),該方法有沒有參數(shù)都可以。(對)

1-13Java程序中是不區(qū)分大小寫字母的。(錯(cuò))

1-14下述兩個(gè)命令:javac和java是不同的,編譯時(shí)用前者,運(yùn)行時(shí)用后者。(對)

1-15Java程序編譯后生成的是字節(jié)碼文件,其后綴是.exe。(錯(cuò))

1-16字節(jié)碼文件機(jī)器是不能直接識別的,它要經(jīng)過解釋器,邊解釋邊執(zhí)行。(對)

1-17在Java程序中,使用import語句引入類是在解群器中實(shí)現(xiàn)的。(對)

1-18在運(yùn)行字節(jié)碼文件時(shí),使用java命令,一定要給出字節(jié)碼文件的擴(kuò)展名.class。(錯(cuò))

1-19Java程序中有多個(gè)類,編譯后只生成一個(gè)字節(jié)碼文件,其名字同主類名。(錯(cuò))

1-20Java程序中出現(xiàn)的輸出方法println。和print。是完全一致的。(錯(cuò))

分析程序的輸出結(jié)果題

1-1程序Exerl_l.java

importjava,io.*;

publicclassExcrl_l

{

publicstaticvoidmain(Stringargsl])

{

isa");

I

)

該程序的輸出結(jié)果如下:

Thisisastring.

1-2程序Excrl_2.java

Importjava.io.*;

PublicclassExerl_2

(

Publicstaticvoidmian(Stringargs[|)

(

Charch="”;

acharactcr:'1);

Try(

I

Catch(IOExceptione)

{}

characteris\"'+ch+,,\"');

)

)

該程序的輸出結(jié)果如下

Inputacharacter:k/

Thecharacteris4k,

1-3程序Exerl_3.java

importjava.io.*;

publicclassExerl_3

(

Publicstaticvoidmain(Stringargs[])

(

Slringstr=""

astring:");

Try{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

str=in.readLine();

)

Catch(IOExceptione)

{I

stringis\"'+str+"\,n,);

1-4程序Exerl_4.java

importjava.io.*

publicclassExcrl_4

(

publicstaticvoidinain(StringargsU)

{

Aa=newA;

a.i=8;

a.d-1.25;

a.mcth("該程序輸出結(jié)果如下所示");

}

}

classA

{

inti;

doubled:

voidmcth(stringstr)

該程序輸出結(jié)果如下所示

i=8,d=l.25

編程題

1-1編寫一個(gè)JavaApplication程序,使該程序運(yùn)行后輸出字符串“Hcllo!Howareyou."0

參考程序內(nèi)容如下

importjava.io.*;

publicclassprol_l

{

publicstaticvoidmain(Stnngargs[])

(

areyou.");

I

}

1-2編寫一個(gè)JavaApplication程序,使該程序輸出顯示如下結(jié)果:

Varl=10,var2=19.5

Ok!

參考程序內(nèi)容如下:

importjava.io.*;

publicclassprol_2

{

publicstalicvoidmain(Stringargs[])

inlvarl=IO;

doublevar2=19.5;

第2章Java語言語法基礎(chǔ)

選擇題

2-iJava語言所用的字符集中字符是2位。

A.8

B.16

C.32

D.64

2-2下列關(guān)于標(biāo)識符的描述中,正確的是A。

A.標(biāo)識符中可以使用下劃線和美元符

B.標(biāo)識符中可以使用連接符和井號符

C.標(biāo)識符中大小寫字母是無區(qū)別的

D.標(biāo)識符可選用關(guān)鍵字

2-3Java語言和各種分隔符中,非法的是

A.空白符

B.分號

C.逗號

D.問號

2-4下列是Java語言中可用的注釋,其中錯(cuò)誤的是C。

A.//

B./*...*/

C./**...**/

D./**...*/

2-5Java語言中字符型數(shù)據(jù)的長度是巳位。

A.8

B.16

C.32

D.64

2-6下列描述的兩種數(shù)據(jù)類型的長度不相等的是A。

A.字符型和布爾型

B.字節(jié)型和布爾型

C.短整型和字符型

D.整型和單精度浮點(diǎn)型

2-7下列是Java語言中的復(fù)合數(shù)據(jù)類型,其中錯(cuò)誤的是C。

A.數(shù)組

B.接口

C.枚舉

D.類

2-8下面是關(guān)于Java語言中數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換的描述,其中錯(cuò)誤的是全。

A.當(dāng)數(shù)據(jù)類型從高轉(zhuǎn)換為低時(shí)需強(qiáng)制轉(zhuǎn)換

B.強(qiáng)制轉(zhuǎn)換時(shí)使用強(qiáng)制轉(zhuǎn)換去處符,形如(〈類型〉:

C.浮點(diǎn)型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為整型時(shí),小數(shù)部分四舍五入

D.賦值操作中都要采用強(qiáng)制類型轉(zhuǎn)換

2-9下列關(guān)于常量的描述中,錯(cuò)誤的是皿。

A.Java語言的常量有5種

B.浮點(diǎn)型數(shù)12.456是單精度的

C.布爾型常量只有兩個(gè)可選值:true和false

D.字符串常量含有結(jié)束符'O'

2-10下列關(guān)于定義符號常量的描述中,錯(cuò)誤的是分£。

A.定義符號常量使用關(guān)鍵字8nsi

B.定義符號常量時(shí)要賦初值

C.符號常量既可以定義為類成員,又可在方法中定義

D.定義符號常量時(shí)必須給出數(shù)據(jù)類型

2-11下列關(guān)于變量的默認(rèn)值的描述,其中錯(cuò)誤的是

A.定義變量而沒有進(jìn)行初始化時(shí),該變量具有默認(rèn)值

B.字符型變量的默認(rèn)值為換行符

C.布爾型變量的默認(rèn)值是Uuc

D.變顯的默認(rèn)值是可以被改變的

2-12下列關(guān)于變量定義的描述中,正確的是A£。

A.定義變量時(shí)至少應(yīng)指出變量名字和類型

B.定義變量時(shí)沒有給出初值該變量可能是無意義值

C.定義變量時(shí),同一個(gè)類型多個(gè)變量間可用逗號分隔

D.定義變量時(shí)必須要給變量初始化

2-13下列關(guān)于變量作用域的描述,錯(cuò)誤的是D。

A.在某個(gè)作用域定義的變量,僅在該作用域內(nèi)是可見的,而在該作用域外是不可見的

B.在類中定義的變量的作用域在該類中的方法內(nèi)可以使用

C.在方法中定義的變量的作用域僅在該方法體內(nèi)

D.在方法中作用域可嵌套,在嵌套的作用域中可以定義同名變量

2-14下列關(guān)于增1(++)減1(-)1運(yùn)算符的描述中,正確的是A國。

A.增1減1運(yùn)算符都是單目運(yùn)算符

B.增1減1運(yùn)算符都具有前綴運(yùn)算和后綴運(yùn)算

C.增1減I運(yùn)算符不會改變變量的值

D.增1減1運(yùn)算符前綴運(yùn)算和后綴運(yùn)算后表達(dá)式值是相同的

2-15關(guān)于運(yùn)算符優(yōu)先級的描述中,錯(cuò)誤的是D。

A.在表達(dá)式中,優(yōu)先級高的運(yùn)算符先進(jìn)行計(jì)算

B.賦值運(yùn)算符優(yōu)先級最高

C.單目運(yùn)算符優(yōu)先級高于雙目和三目運(yùn)算符

D.邏輯運(yùn)算符優(yōu)先級高于邏輯位運(yùn)算符

2-16下列關(guān)于表達(dá)式的描述中,正確的是

A.任何表達(dá)式都有確定的值和類型

B.算數(shù)表達(dá)式的類型由第一個(gè)操作數(shù)的類型決定

C.邏輯表達(dá)式的操作數(shù)是邏輯型的

D.賦值表達(dá)式的類型取決于右值表達(dá)式的類型

2-17下列表達(dá)式中,非法的是因

inta=5,b=6;doublec=1.1,d=2.2

A.a+c+++d

B.(a+c)-

C.c?b

D.a!=b?c:d

2-18下列關(guān)于條件語句的描述中,錯(cuò)誤的是AC。

A.If語句可以有多個(gè)else子句和elseif子句

B.If語句中可以沒有else子句和elseif子句

C.If語句中的〈條件)可以使用任何表達(dá)式

D.If語句的if體、else體內(nèi)可以有循環(huán)語句

2-19下列關(guān)于開關(guān)語句的描述中,錯(cuò)誤的是啦D。

A.開關(guān)語句中,default子句可以省略

B.開關(guān)語句中,case子句的〈語句序列》中一定含有break語句

C.開關(guān)語句中,case子句和default子句都可以有多個(gè)

D.退出開關(guān)語句的唯一條件是執(zhí)行break語句

2-20下列關(guān)于循環(huán)語句的描述中,錯(cuò)誤的是因Q。

A.任何一種循環(huán)體內(nèi)都可以包含一種循環(huán)語句

B.循環(huán)體可以是空語句,也可以是空

C.循環(huán)體內(nèi)可以出現(xiàn)多個(gè)bicak語句

D.循環(huán)語句中,循環(huán)體至少被執(zhí)行一次

2-21下列循環(huán)語句的循環(huán)次數(shù)是Do

inti=5;

do{

i-;

}while(i!=());

A.0

B.1

C.5

D.無限

2-22下列循環(huán)語句中,循環(huán)體被執(zhí)行的次數(shù)為口。

for(inti=0.j=0;(j!=l8)||(i<4);i++)

A.3

B.4

C.不確定

D.無限

2-23下列關(guān)于Java語言的數(shù)組描述中,錯(cuò)誤的是D。

A.數(shù)組的長度通常用length來表示

B.數(shù)組下標(biāo)從0開始

C.數(shù)組元素是按順序存放在內(nèi)在的

D.數(shù)組在賦初值和賦值時(shí)都不判界

2-24下列關(guān)于數(shù)組的定義形式,錯(cuò)誤的是

A.int[]a;a=newint;

B.charbl];b=newchar[8()J

C.int[]c=newchar[IO]

D.int[]d[3]=newint[2][]

2-25下列關(guān)于字符串的描述中,錯(cuò)誤的是且.

A.Java語言中,字符串分為字符串常量和字符串變量兩種

B.兩種不同的字符串都String類的對象

C.Java語言中不再使用字符數(shù)組存放字符串

D.JavaApplication程序的main。和參數(shù)args[]是一個(gè)String類的對象數(shù)組,用它可存放若干個(gè)

命令行參數(shù)

判斷題

2-1Java語言標(biāo)識符中可以使用美元符。(對)

2-2Java語言標(biāo)識符中大小寫字母是沒有區(qū)別的。(錯(cuò))

2-3分號(;)、逗號(,)和冒號(:)都可作為Java語言中的分隔符。(對)

2-4文檔注釋符/**…*/是Java語言特有的注釋符.(對)

2-5Java語言的基礎(chǔ)數(shù)據(jù)類型有4種:整型、浮點(diǎn)型、字符型和布爾型。(對)

2-6Java語言的復(fù)合數(shù)據(jù)類型有3種:數(shù)組、類和包。(錯(cuò))

2-7Java語言中,字節(jié)型與字符型是一樣的。(錯(cuò))

2-8Java語言是一種強(qiáng)類型語言,數(shù)據(jù)類型轉(zhuǎn)換有兩種:隱含轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換(對)

2-9數(shù)據(jù)由高類型轉(zhuǎn)換到低類型時(shí),采用強(qiáng)制轉(zhuǎn)換,數(shù)據(jù)精度要受到損失。(對)

2-10布爾型常量可以自動轉(zhuǎn)換為短整型常量。(錯(cuò))

2-11Java語言使用的是Unicode字符集,每個(gè)字符在內(nèi)在中占8位。(錯(cuò))

2-12Java語言的字符串中不隱含結(jié)束符。(對)

2-13Java語言中定義符號常量使用final關(guān)鍵宇。(對)

2-14Java語言中不同數(shù)據(jù)類型的長度是固定的,不隨機(jī)器硬件不同而改變。(對)

2-15Java語言中只有無符號的字符型。(對)

2-16字符型變量中只存放一個(gè)字符。(對)

2-17定義變量時(shí)必須進(jìn)行初始化,否則變量具有無意義的值。(錯(cuò))

2-18若定義變量時(shí)不進(jìn)行初始化,則該變量一定具有默認(rèn)值。(錯(cuò))

2-19Java語言中,變量出現(xiàn)的位置只有一種,即為類體內(nèi)定義的成員變量。(錯(cuò))

2-20Java語言規(guī)定在的程序塊中不允許定義同名變量。(對)

2-21求余運(yùn)算符%可用于整數(shù)和浮點(diǎn)數(shù)。(錯(cuò))

2-22關(guān)系運(yùn)算符組成的表達(dá)式是邏輯表達(dá)式。(錯(cuò))

2-23邏輯運(yùn)算符&和&&是沒有區(qū)別的,都具有邏輯與的功能。(錯(cuò))

2-24運(yùn)算符&是邏輯與運(yùn)算符還是按位與運(yùn)算符取決于操作數(shù)的類型。(對)

2-25運(yùn)算符“>>”和“>>>”都是右移運(yùn)算符,其區(qū)別在于對向右移出的位是舍棄還是保留。(錯(cuò))

2-26賦值運(yùn)算符組成的賦值表達(dá)式中,通常將右邊表達(dá)式的類型轉(zhuǎn)換為左邊變量的類型后再賦值。

(對)

2-27三目運(yùn)算符的3個(gè)操作數(shù)中,第一個(gè)操作數(shù)的類型必須是邏輯型的(對)

2-28強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的功能是將一個(gè)表達(dá)式的類型轉(zhuǎn)換為所指定的類型。(對)

2-29對象運(yùn)算符instanccof是一個(gè)單目運(yùn)算符,其表達(dá)式的值的類的對象。(錯(cuò))

2-30內(nèi)存分配運(yùn)算符new可以為創(chuàng)建的數(shù)組分配內(nèi)存空間,但不能為創(chuàng)建的變量分配空間。

2-31運(yùn)算符的優(yōu)先級中,最低的是三目運(yùn)算符。(錯(cuò))

2-32運(yùn)算符的結(jié)合性中,除了三目運(yùn)算符是自右向左外,其余都是自左向右。(錯(cuò))

2-33關(guān)系表達(dá)式和邏輯表達(dá)式的值都是布爾型的。(對)

2-34賦值表達(dá)式的值不能是邏輯型的。(錯(cuò))

2-35條件表達(dá)式的類型總是“?"和“:''之間的操作數(shù)的類型。(錯(cuò))

2-36塊語句可能嵌套,外層塊語句定義的變顯在內(nèi)層塊語句中是可見的(對)

2-37條件自勉中的v條件〉表達(dá)式可以是任何表達(dá)式。(錯(cuò))

2-38在條件語句的嵌套結(jié)構(gòu)中,一個(gè)if子句最多有一個(gè)else子句與它配對,而且一定是距離它最近

的。(對)

2-39開關(guān)語句中,case子句后面的〈語句序列》可以是塊語句。(對)、

2-40循環(huán)語句中,(條件>表達(dá)式必須是邏輯型表達(dá)式。(對)

2-41在Java語言中,break語句不能作用在〈標(biāo)號名〉的左邊。(錯(cuò))

2-42Java語言中,數(shù)組在靜態(tài)和動態(tài)賦值時(shí)都判越界。(對)

2-43說明或聲明數(shù)組時(shí)不分配內(nèi)存大小,創(chuàng)建數(shù)組時(shí)分配內(nèi)存大小。(對)

2-44基本數(shù)據(jù)類型的數(shù)組在創(chuàng)建時(shí)系統(tǒng)將指定默認(rèn)值。(對)

2-45數(shù)組在定義時(shí)可以進(jìn)行初始化,使用初始值表。(對)

2-46Java語言中數(shù)組元素只有下標(biāo)表示,沒有指針表示。(對)

2-47創(chuàng)建數(shù)組時(shí),系統(tǒng)自動將數(shù)組元素個(gè)數(shù)存放在length變量中,可供用戶對數(shù)組操作時(shí)使用。(對)

2-18字符串可分為字符串常量和字符串變量兩種,它們都是對象“(對)

2-49Java語言中不使用字符數(shù)組存放字符串(對)

2-50下列創(chuàng)建字符串s的方法是錯(cuò)誤的。(對)

charch[]={'m',m\,n\,n,};

chars[]=newchar(ch);

計(jì)算表達(dá)式的值,上機(jī)驗(yàn)證其結(jié)果題

2-1已知:inta=3,b=5;

求下列表達(dá)式的值:

(I)(a+b)%b

(2)b?a

(3)-b?>a

(4)A&b

(5)++a-b++

2-1已知:doublex=l.5,y=2.8;

求下列表達(dá)式的值:

(1)x++>y一

(2)x+4/5

(3)2*x==y

(4)y/6*6

(5)y+=x-=l

答案(1)false(2)1.5(3)false(4)2.8(5)3.3

2-3B^n:Booleanbl=true.b2=false;inta=6;

求值:

(I)bl&b2

(2)!bl&&b2||b2

(3)b2&bl|!b2

(4)bi!=b2

(5)!(a>6)&a6|b2=truc)

答案:(1)false(2)false(3)true(4)false(5)true

2-4已知:inta[]={3,5,7,9};

求值:

(1)a[0]+a[l]

(2)a[3]=6

(3)a[2]*a[3]>4*a[3]

(4)(a[0]+=a[lJ)+++a[2J

(5)for(inti=l;i<4;i++)

a[0]+=a[i];

答案:(1)8(2)6(3)true(4)16(5)24

分析程序輸出結(jié)果題

2-1Exer2_l.java程序

publicclassExer2_l

publicstaticvoidmain(Stringargs[])

inti=3;

charc='p';

floatf-3.5f;

doubled=32.56;

shorts=25;

boolcab=truc;

stringst="new";

1

}

輸出結(jié)果如下:

i+s=28

d+f-36.06

st+"year"=newyear

c+2=r

!b||b=truc

b?i:d=3.0

2-2Exer2_2.java程序

publicclassExer2_2

(

publicstaticvoidmain(Stringargs[J)

{

intsuina=O,sumb=O;

for(inta=0,b=0;a<5;a++,b++)

{

suma+=a;

sumb+=b;

)

I

)

輸出結(jié)果如下:

suma=10,sunib=60

2-3Exer2_3.java程序

publicclassExer2_3

|

publicstaticvoidmain(Stringargs[l)

{

inti.j;

First_Loop:

for(i=l;i<50;i++)

{

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

if(i%j)==O

continueFirst_Loop;

輸出結(jié)果如下:

3

5

7

11

13

17

19

23

29

31

37

41

43

47

2-4Exer2_4.java程序

publicclassExer2_4

(

publicstaticvoidmain(Stringargs||)

{

charch='Br;

switch(ch)

輸出結(jié)果如F:

4

2-5Exer2_5.java程序

publicclassExer2_5

(

publicstaticvoidmain(Stringargs[])

{

inta=3,b=5;

if(a==3)

if(b==l)

a++;

else

b++;

intx=l,y=4;

if(x==2)

if(y==4)

x++;

else

y++;

輸出結(jié)果如F:

3,5

1,5

2-6Exer2_6.java程序

publicclassExer2_6

|

publicslalicvoidiiiaiu(Sliiiigaigs[l)

{

inti;

for(i=l;i<10;i+-F)

(

if(i>2)

else

if(i==5)

break;

輸出結(jié)果如下:

BA

BA

AB

AB

AB

i=5

2-7Exer2_7.java程序

publicclassExer2_7

(

publicstaticvoidmain(Stringargs[])

{

longjl=l,j2=l;

for(inti=5;i>=l;i--)

jl*=i;

for(inti=4;i>=l;i-)

j2*=i;

)

)

輸出結(jié)果如下:

5!

4!=144

2-8Exer2_8.java程序

publicclassExer2_8

publicstaticvoidinain(Stringargs[])

{

Strings1="123456";

charch[]={,4,,,5','6';7';8');

doubled11;

d=ncwdoublcl5];

d[0]=L2f;d[l]=2.3f;d[2]=3.4f;d[3]=4.5f;d[4]=5.6f;

Strings2[]={"ab,',"cd";'ef'};

int[]a[]={{l,2,3(,{4,5,6},{7,8,9}};

fui(ingi-0;i<5;i++)

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

d[01+=d[il:

for(i=0;i<3;i++)

(

for(intj=0;j<3;j++)

輸出結(jié)果如f:

s1=123456

.8

ab;cd;ef

123

456

789

2-9Exer2_9.java程序運(yùn)行時(shí)命令行帶有參數(shù)。運(yùn)行格式如下:

C:\Exer2_951100/

程序Exer2_9.java內(nèi)容如下:

publicclassExer2_8

(

publicstaticvoidmain(Stringargs[])

{

intsum=0;

ingi=Integer.parseIn((args[O]);

intn=lntcger.parsclnt(args[l]);

for(;i<=n;i++)

sum=+=i;

)

)

輸出結(jié)果如下:

sum=3775

2-10Exer2_10.java程序

publicclassExer2_8

publicstaiicvoidmain(Stringargs[])

A:

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

(

for(ingj=0;j<8;j++)

(

continjeA;

)

)

}

)

輸出結(jié)果如下:

*

*

*

*

*

編程題

2-11按下列要求寫出Java譜言的語句。

(1)定義一個(gè)double型變量d,并賦初值為2.5。

該語句如下:

Doubled=2.5;

(2)在屏幕上輸出顯示(1)中所定義的變量d的值。

該語句如下:

(3)定義一個(gè)字符型一維數(shù)組ch它的大小為10o

該語句如下:

charch[]=newchar[10];

(4)定義一個(gè)字符串常量si,其字符串為“abc”

Stringsl="abc";

(5)定義一個(gè)boolean型變量b,賦初值為【rue。

booleanb=true

(6)在屏幕上輸出顯示26個(gè)大寫字母。

實(shí)現(xiàn)該功能的程序段如下:

for(charch='a';ch<='z';ch++)

(7)將代數(shù)式s=a2+2ab+b2寫成一個(gè)賦值表達(dá)式語句。

該語句如下:

s=a*a+2*a*b+b*b

(8)a,b和c是3個(gè)int型變量,用條件表達(dá)式寫出a>b時(shí),c值為a,否則c值為b。

inta,b,c;

:

:

if(a>b)

c=a;

else

c=b;

(9)用for循環(huán)語句實(shí)現(xiàn)下述循環(huán):循環(huán)變量m為10C,每次m循環(huán)減10:當(dāng)m等于50時(shí)退出

循環(huán),循環(huán)體為空語句。

for(intm-l(X);m一一50;m--l0)

(10)使用帶標(biāo)號名的break語句,在雙重for循環(huán)自勉結(jié)構(gòu)中,一次從內(nèi)層循環(huán)跳出外層循環(huán)。

該功能程序段如下:

F:fbr(ingi=...)

fbr(ingj=...)

breakF;

2-12編程求出一個(gè)一維int型數(shù)組的元素最大值、最小值、平均值和所有元素之和。

程序內(nèi)容如下:

importjava.io.*;

publicclasspro2_l

{

publicstaticvoidmain(Stringargs[])

inta[]={23,76,45,21,63,90,46,83};

intmax,min,sum;

max=min=a[0];

for(inti=l;i<8;i++)

if(max<a[i])

max=a[i];

for(inti=l;i<8;i++)

if(min>a[i])

min=a[i];

for(inti=l;i<8;i++)

sum+=a[i];

運(yùn)行該程序后,輸出結(jié)果如下:

Max=90,min=21,ave=53,suni=424

2-3編程將一個(gè)浮點(diǎn)型數(shù)的整數(shù)部分和小數(shù)分別輸出顯示

importjava.io.*;

publicclasspro2_2

publicstaticvoidmain(Stringargs[])

doubled=23.56cl;

dl=d;

intn-O;

while(true)

(

d--;

if(d<0)

break;

n++

)

)

}

運(yùn)行該程序后,輸出結(jié)果請讀者自己分析

2-4編程生成Fibonacci數(shù)列,該數(shù)列定義為:

f|=f2=l,fn=fn-l+fn-2(n>3)

程序內(nèi)容如下:

importjava,io.*;

publicclasspro2_3

{

publicstaticvoidmain(Stringargs[J)

[

intfl,f2;

fl=f2=l

for(inti=l;i<=5:i++)

(

“+f2+"”);

fl+=f2;

f2+=fl;

)

這里假定生成Fiblnacci數(shù)列的前20項(xiàng),可根據(jù)需要生成若干項(xiàng)。運(yùn)行該程序后的輸出結(jié)果如下:

11235813213455

2-5編程求出自然數(shù)101-205中的所有素?cái)?shù)。

程序內(nèi)容如下

importjava.io.*;

publicclasspro2_4

|

publicsta(icvoidmain(Stringargs[l)

intn=0;

booleanprime=false;

for(inti=101;i<=205;i+=2)

{

prime=true;

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

if(j%j==O)

prime-false;

break;

)

if(prime)

(

");

n++;

}

if(n%8==0)

}

)

)

2-6使用switch語句根據(jù)考試成績等級輸出百分制的分?jǐn)?shù)段。規(guī)定如"

A.85-100

B.70-84

C.60-69

D.<60

假定85~100分為A,70~84為B,6()?69分為C,<60分為D。

程序內(nèi)容如下:

importjava.io.*;

publicclasspro2_5

(

publicslaticvoidmain(Stringargs[])

{

inta=Interger.valueOf(args[()].intValue());

intn=a/5:

if(a<60)

n=ll;

switch(n)

{

case20:case19:case18:case17:

case16:casel5:case14:

case!3:casel2:

case11:

)

1

I

輸入的分?jǐn)?shù)是通過命令行參數(shù)來實(shí)現(xiàn)的。假定命令參數(shù)為73時(shí),運(yùn)行該程序輸出結(jié)果如下:

B

2-7百雞百錢問題。公雞每只3無,母雞每只5無,小雞3只一元,用100元買100只雞,公雞、

母雞、小雞應(yīng)各買多少?

程序內(nèi)容如下:

importjava.io.*;

publicclasspro2_6

(

publicstaticvoidmain(Stringargs[])

for(inta=1;a<34;a++)

for(intb=l;b<21:b++)

if(3*a+5*b+(l(M)-a-b)/3==1()()&&(l()()-a-b)%3==0)

運(yùn)行該程序后輸出結(jié)果如下:

公雞=4,母雞=12,小雞二84

公雞二11,母雞=8,小雞=81

公雞二18,母雞-4,小雞二78

2-8編程輸出如圖所示的圖形

***

*****

**木***本

********

程序內(nèi)容如下:

importjava.io.*;

publicclasspro2_7

(

publicsta(icvoidmain(Stringargs[])

{

for(inti=l;i<i+9;i++)

(

for(intj=1;j<i+9;j++)

if(j<=9-i)

else

第3章Java語言面向?qū)ο蟮奶卣?/p>

選擇題

3-1下列對封裝性的描述中,錯(cuò)誤的是(B).

A.封裝體包含了屬性和行為

B.封裝體中的屬性和行為的訪問權(quán)限是相同的

C.被封裝的某些信息在封裝體外是不可見的

D.封裝使得抽象的數(shù)據(jù)類型提高了可重用性

3-2下列關(guān)于繼承性的描述中,錯(cuò)誤的是(C)

A.一個(gè)類可以同時(shí)生成多個(gè)子類

B.了類繼承了父類的所有成員

C.Java語言支持單重繼承和多重繼承

D.Java語言通過接口可使子類使用多個(gè)父類的成員

3-3下列對多態(tài)性的描述中,錯(cuò)誤的是(A)

A.Java語言允許運(yùn)算符重載

B.Java語言允許方法重載

CJava語言允許變量覆蓋

D.多態(tài)性提高了程序的抽象性和簡潔性

3-4在類的修飾符中,規(guī)定只能被同一包類所使用的修飾符是:B)

A.publicB.默認(rèn)C.tinalD.abstract

3-5在成員變量的修飾符中,規(guī)定只允許該類自身訪問的修飾符是(A)

A.privaleB.publicC.默認(rèn)D.protected

3-6在成員方法的訪問控制修飾符中,規(guī)定訪問權(quán)限包含該類自身,同包的其他類和其他包的該類子類的

修飾符是(D)

A.publicB.privateC.默認(rèn)D.protected

3-7下列關(guān)于構(gòu)造方法的特點(diǎn)的描述中,錯(cuò)誤的是(A)

A.不可重載B.方法名同類名C.無返回類型D.系統(tǒng)自動調(diào)用

3-8下列關(guān)于靜態(tài)方法的特點(diǎn)的描述中,錯(cuò)誤的是(D)

A.在類體內(nèi)說明靜態(tài)方法使用關(guān)鍵字static

B.靜態(tài)方法只能處理靜態(tài)變量或調(diào)用靜態(tài)方法

C.靜態(tài)方法不占用對象的內(nèi)存空間,非靜態(tài)方法占用對象的內(nèi)存空間

D.靜態(tài)方法只能用類名調(diào)用

3-9下列對靜態(tài)初始化器的描述中,錯(cuò)誤的是(D)

A.靜態(tài)初始化器是用來對類進(jìn)行初始化的,而不是對某個(gè)對象初始化

B.靜態(tài)初始化器是由關(guān)鍵字static和一對花括號組成的語句組

C.靜態(tài)初始化器不同于構(gòu)造方法,它不是方法

D.靜態(tài)初始化器在產(chǎn)生新對象時(shí),是由系統(tǒng)自動調(diào)用的

3-10下列關(guān)于抽象類的描述中,錯(cuò)誤的是(C)

A.抽象類是用修飾符abstract說明的

B.抽象類是不可以定義對象的

C.抽象類是不可以有構(gòu)造方法的

D.抽象類通常要有它的子類

3-11下列關(guān)于類的繼承性的描述中,錯(cuò)誤的是(D)

A.繼承是在己有類的基礎(chǔ)上生成新類的一種方法

B.子類繼承父類的所有成員

C.Java語言要求一個(gè)子類只有一個(gè)父類

D.父類中成員的訪問權(quán)限在子類中將被改變

312卜.列關(guān)于子類繼承父類的成員的描述中,錯(cuò)誤的是(A)

A.子類中繼承父類中的所有成員都可以直接訪問

B.子類中定義有與父類同名變量時(shí),子類繼承父類的操作中,使用繼承父類的變量;子

類執(zhí)行自己的操作中,使用自己定義的變量

C.當(dāng)子類中出現(xiàn)成員方法頭與父類方法頭相同的方法時(shí),子類成員方法覆蓋父類中的成

員方法

D.方法重載是編譯時(shí)處理的,而方法覆蓋是在運(yùn)行時(shí)處理的

3-13下列關(guān)于接口的描述中,錯(cuò)誤的是(B)

A.接口實(shí)際上是由變量和抽象方法構(gòu)成的特殊類

B.個(gè)類只允許繼承個(gè)接口

C.定義接口使用的關(guān)鍵字是interface

D.在繼承接口的類中通常要給出接口中定義的抽象方法的具體實(shí)現(xiàn)

3-14下列關(guān)于包的描述中,錯(cuò)誤的是(A)

A.包是一種特殊的類B.包是若干個(gè)類的集合

C.包是使用package語句創(chuàng)建的D.包有有包名包和無名包兩種

3-15下列常用包中,存放用戶圖形界面類庫的包是(A)

A.java.awtB.java.langC.java.util

3-16卜.列是系統(tǒng)提供的常用的類,所有類的父類的類是(B)

A.MathB.ObjectC.SystemD.String

判斷題

3-1類是一種類型,也是對象的模板。(對)

3-2Java語言只支持單重繼承,不支持多重繼承。(對)

3-3類中說明的方法可以定義在類體外。(錯(cuò))

3-4class不是定義類的唯一關(guān)鍵字。(錯(cuò))

3-5某類的對象可以作為另一個(gè)類的成員。(對)

3-6在類體內(nèi)說明成員變量時(shí)不允許賦初值。(錯(cuò))

3-7最終變量就是Java語言中的符號常量。(對)

3-8靜態(tài)變量的引用只能使用對象。(錯(cuò))

3-9靜態(tài)方法只能處理靜態(tài)變量。(對)

3-10抽象方法是一種只有說明而無具體實(shí)現(xiàn)的方法。(對)

3-11最終方法是不能被當(dāng)前子類重新定義的方法。(對)

3-l2Java語言中,方法調(diào)用一律都是傳址的引用調(diào)用。(錯(cuò))

3-13非靜態(tài)方法中不能引用靜態(tài)變量。(錯(cuò))

3-14靜態(tài)初始化器是在構(gòu)造方法被自動調(diào)用之前運(yùn)行的。(對)

3-15抽象方法僅有方法頭,而無方法體。(對)

3-16抽象方法一定出現(xiàn)在抽象類中。(對)

3-17最終類,最終方法和最終變量的修飾符都用final。(對)

3-18創(chuàng)建對象時(shí)系統(tǒng)將調(diào)用適當(dāng)?shù)臉?gòu)造方法給對象初始化。(對)

3-19使用運(yùn)算符new創(chuàng)建對象時(shí),賦給對象的值實(shí)際上是一個(gè)地址值。(對)

3-20使用構(gòu)造方法只能給非靜態(tài)成員變量賦初值。(對)

3-21創(chuàng)建對象時(shí),該對?象占用的內(nèi)存空間除了非靜態(tài)的成員變鼠外,還有非靜態(tài)的成員方法。(對)

3-22Java語言中,對象成員的表示只使用運(yùn)算符(對)

3-23Java語言中,對象賦值實(shí)際上是同一個(gè)對象具有兩個(gè)不同的名字,因?yàn)樗麄兌加型粋€(gè)地址值。(對)

3-24對象可作方法參數(shù),對象數(shù)組不能作方法參數(shù)。(錯(cuò))

3-25Java語言中,所創(chuàng)建的子類都應(yīng)有一個(gè)父類。(對)

3-26Java語言中,類的繼承是可以傳遞的。(對)

327Java語言中,構(gòu)造方法是可以繼承的“(錯(cuò))

3-28子類中構(gòu)造方法應(yīng)包含自身類的構(gòu)造方法和直接父類的構(gòu)造方法。(對)

3-29調(diào)用this或super的構(gòu)造方法的語句必須放在第一條語句。(對)

3-30子類對象可以直接賦值給父類對象;而父類對象不可以賦值給子類對象。(錯(cuò))

3-31子類中所繼承父類的成員都可以在子類中訪問。(錯(cuò))

3-32成員方法的重載和覆蓋是一回事。(錯(cuò))

3-33一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。接口可以實(shí)現(xiàn)“多重繼承”。(對)

3-34實(shí)現(xiàn)接口的類不能是抽象類。(錯(cuò))

填空題

3-1對象具有3大耍素,它們分別是(狀態(tài)),(行為),(標(biāo)志)。這3大耍素分別用(變量),(方

法),(對象名)表示。

3-2定義類時(shí),通常要使用的關(guān)鍵字有(class),(extends),(implements)(,

3-3成員變量的定義格式如下:([<修飾符習(xí))<變量類型><變量名>(=<初值>);

3-4成員變量的非訪問控制修飾符有(static),(final),(volatile)o

3-5在成員方法的定義中可省略的部分有(修飾符),(參數(shù)表),(異常類名列表)。

3-6Java語言中,重載方法的選擇是在(編譯)時(shí)進(jìn)行的,系統(tǒng)根據(jù)(參數(shù)個(gè)數(shù)),(參數(shù)類型),(參

數(shù)順序)尋找匹配方法。

3-7沒有子類的類稱為(最終類),不能被子類重載的方法稱為(最終方法),不能被改變值的量稱為常

量,又稱為(最終變量)。

3-8創(chuàng)建一個(gè)對象時(shí),通常要包含3項(xiàng)內(nèi)容:(說明對象),給對象分配空間,(對象初始化)。

3-9系統(tǒng)規(guī)定ini型變量默認(rèn)值為(0),浮點(diǎn)型變量的默認(rèn)值為(OQ),布爾型變量的默認(rèn)值為(false)o

3-10Java語言中,定義子類時(shí),使用關(guān)鍵字(extends)來給出父類名。如果沒有指出父類,則該類的默

認(rèn)父類為(object類)。

3-11系統(tǒng)規(guī)定:表示當(dāng)前類的構(gòu)造方法用(this()),表示直接父類的構(gòu)造方法用(super1))。

3-12接口中默認(rèn)的成員變量的修飾符為(final),默認(rèn)的成員方法的修飾符是(abstract)。

3-13實(shí)現(xiàn)接口中的抽象方法時(shí),必須使用(完全相同)方法頭,并且還要用(public)修飾符。

3-14包名與子包名之間用(.)分隔。加載包的關(guān)鍵字是(import)。

3-15字符串類又包含兩大類,它們是(String)和(StringBuffer).

分析程序的輸出結(jié)果題

3-IExer3_l.java

classA

intx,y,z,sum;

A(inti,intj,intk)

x=i;

y=j;

z=k;

sum=x+y+z;

}

booleansarneA(Aal)

if((al.x==x)&(al.y==y)&(al.z==z))

returntrue;

else

returnfalse;

)

booleansameS(Aal)

{

if(al.sum==sum)

returntrue;

else

returnfalse;

)

)

ulassExcr3_l

I

publicstaticvoidmain(Stringargs[l)

{

Aa=newA(2,5,8);

Ab=newA(2,5,8);

Ac=newA(5,8,2);

}

}

輸出結(jié)果如下:

true

false

true

true

3-2Exer3_2.java

classB

(

voidmcth(inti)

voidmeth(doublei)

I

classExer3_2

(

publicstaticvoidmain(Stringargs[J)

(

inti=8;

doubled=6.8:

shorts=10;

fioalf=5.3f;

byteb=9;

charc='a';

Bob=newB();

ob.meth(i);

ob.meth(d);

ob.mcth(s);

ob.me(h((inl)f);

ob.meth(b);

ob.meth(c);

)

)

輸出結(jié)果如下:

Int:8

Double:6.8

Int:l()

Int:5

lnt:9

Int:97

3-3Excr3_3.java

classC

(

intc;

C(inta)

{

c=O;

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

c+=i;

)

C(Cb)

{c=b.c;}

I

classExer3_3

(

publicstaticvoidmain(Stringargs[J)

(

Cc1=ncwC(6);

Cc2=newC(ne\vC(4));

}

)

輸出結(jié)果如下:

cl:2l

c2:10

3_4Excr3_4.java

classD

{

staticintd=100;

staticintmeth()

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論