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

下載本文檔

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

文檔簡(jiǎn)介

第1章Java語(yǔ)言概述

選擇題

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

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

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

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

A.支持多線程操作

BJava程序與平臺(tái)無(wú)關(guān)

C.Java和程序可以直接訪問(wèn)Internet上的對(duì)象

D.支持單繼承和多繼承

1-3下列關(guān)于JavaApplicalion程序在結(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)過(guò)編譯后生成的文件的后綴是(C)

A..objB..exeC..classD..java

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ù)無(wú)關(guān)

判斷題

1-1JavaC++的語(yǔ)言之前問(wèn)世的。(錯(cuò))

1-2Java語(yǔ)言具有較好的安全性和可移植性及與平臺(tái)無(wú)關(guān)等特性。(對(duì))

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

1-4Java語(yǔ)言中數(shù)據(jù)類型占內(nèi)在字節(jié)數(shù)與平臺(tái)無(wú)關(guān)。(對(duì))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.*;

publicclassExerl_1

(

publicstaticvoidmain(Stringargs[])

(

isan);

)

)

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

Thisisastring.

1-2程序Exerl_2.java

Importjava.io.*;

PublicclassExerl_2

(

Publicstaticvoidmian(Stringargs[])

(

Charch=,H';

acharacter:1');

Try(

)

Catch(IOExceptione)

{)

characteris\,n+ch+,'\M,);

)

)

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

InputacharacterkZ

Thecharacteris'k5

1-3程序Exerl_3.java

imporljava.io.*;

publicclassExerl_3

(

Publicstaticvoidmain(Stringargs[])

(

Stringstr二””

astring:'1);

Try(

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

str=in.readLine();

)

Catch(IOExceptione)

(}

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

1-4程序Exerl_4.java

importjava.io.*

publicclassExerl_4

(

publicstaticvoidmain(Stringargs[])

(

Aa=newA;

a.i=8;

a.d=1.25;

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

)

)

classA

(

inti;

doubled;

voidmeth(stringstr)

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

i=8,d=1.25

編程題

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

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

importjava.io.*;

publicclassprol_l

(

publicstaticvoidmain(Stringargs[])

(

areyou.");

)

)

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

Vari=10,var2=19.5

Ok!

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

importjava.io.*;

publicclassprol_2

(

publicstaticvoidmain(Stringargs[])

intvarl=10;

doublevar2=19.5;

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

選擇題

2-1Java語(yǔ)言所用的字符集中字符是2位。

A.8

B.16

C.32

D.64

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

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

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

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

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

2-3Java語(yǔ)言和各種分隔符中,非法的是D。

A.空白符

B.分號(hào)

C.逗號(hào)

D.問(wèn)號(hào)

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

A.//

B./*...*/

Q/****/

D./**...*/

2-5Java語(yǔ)言中字符型數(shù)據(jù)的長(zhǎng)度是2位。

A.8

B.16

C.32

D.64

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

A.字符型和布爾型

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

C.短整型和字符型

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

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

A.數(shù)組

B.接口

C.枚舉

D.類

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

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語(yǔ)言的常量有5種

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

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

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

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

A.定義符號(hào)常量使用關(guān)鍵字const

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

inta=5,b=6;doublec=l.l,d=2.2

A.a+c+++d

B.(a+c)—

C.c?b

D.a!=b?c:d

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

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

B.If語(yǔ)句中可以沒(méi)有else子句和elseif子句

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

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

2-19下列關(guān)于開(kāi)關(guān)語(yǔ)句的描述中,錯(cuò)誤的是B,C,D。

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

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

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

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

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

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

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

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

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

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

inti=5;

do{

i--;

(while(i!=0);

A.0

B.1

C.5

D.無(wú)限

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

for(inti=0,j=0;(j!=18)||(i<4);i++)

A.3

B.4

C.不確定

D.無(wú)限

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

A.數(shù)組的長(zhǎng)度通常用length來(lái)表示

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

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

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

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

A.int[|a;a=newint;

B.charb[];b=newchar[80]

C.int[]c=newchar[10]

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

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

A.Java語(yǔ)言中,字符串分為字符串常量和字符串變量?jī)煞N

B.兩種不同的字符串都String類的對(duì)象

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

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

命令行參數(shù)

判斷題

2-1Java語(yǔ)言標(biāo)識(shí)符中可以使用美元符。(對(duì))

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

2-3分號(hào)(;)、逗號(hào)(,)和冒號(hào)(:)都可作為Java語(yǔ)言中的分隔符。(對(duì))

2-4文檔注釋符/**…*/是Java語(yǔ)言特有的注釋符。(對(duì))

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

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

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

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

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

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

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

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

2-13Java語(yǔ)言中定義符號(hào)常量使用final關(guān)鍵字。(對(duì))

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

2-15Java語(yǔ)言中只有無(wú)符號(hào)的字符型。(對(duì))

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

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

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

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

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

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

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

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

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

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

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

(對(duì))

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

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

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

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

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

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

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

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

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

2-36塊語(yǔ)句可能嵌套,外層塊語(yǔ)句定義的變量在內(nèi)層塊語(yǔ)句中是可見(jiàn)的(對(duì))

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

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

的。(對(duì))

2-39開(kāi)關(guān)語(yǔ)句中,case子句后面的〈語(yǔ)句序列〉可以是塊語(yǔ)句。(對(duì))、

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

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

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

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

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

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

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

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

2-48字符串可分為字符串常量和字符串變量?jī)煞N,它們都是對(duì)象。(對(duì))

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

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

charch口二{;

chars[]=newchar(ch);

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

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

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

(1)(a+b)%b

(2)b?a

(3)-b?>a

(4)A&b

(5)++a-b++

2-1已知:doublex=1.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-3已知:Booleanb1=true,b2=false;inta=6;

求值:

(1)bl&b2

(2)!bl&&b2||b2

(3)b2&bi|!b2

(4)bl!=b2

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

答案:(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[l])+++a[2]

(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_1

publicstaticvoidmain(Stringargs[])

inti=3;

chare='p';

floatf=3.5f;

doubled=32.56;

shorts=25;

booleab=true;

stringst=,'new,';

)

)

輸出結(jié)果如下:

i+s=28

d+f=36.06

st+nyearH=newyear

c+2=r

!b||b=true

b?i:d=3.0

2-2Exer2_2.java程序

publicclassExer2_2

(

publicstaticvoidmain(Stringargs[])

(

intsuma=O,sumb=O;

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

(

suma+=a;

sumb十=b;

)

)

)

輸出結(jié)果如下:

suma=10,sumb=60

2-3Exer2_3.java程序

publicclassExer2_3

(

publicstaticvoidmain(Stringargs[])

(

inti,j;

First_Loop:

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

{

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

if(i%j)==O

continueFirst_Loop;

)

)

)

輸出結(jié)果如下:

1

2

3

5

7

11

13

17

19

23

29

31

37

41

43

47

2-4Exer2_4.java程序

publicclassExer2_4

(

publicstaticvoidmain(Stringargs[])

(

charch=,B';

switch(ch)

)

輸出結(jié)果如下:

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é)果如下:

3,5

1,5

2-6Exer2_6.java程序

publicclassExer2_6

(

publicstaticvoidmain(Stringargs[])

(

inti;

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

(

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

publicstaticvoidmain(Stringargs[])

|

Stringsl=n123456u;

charch[]={t4V5\'6,,'778,);

doubledf];

d=newdouble[5];

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

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

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

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

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

d[0]+=d[i];

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

(

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

)

)

輸出結(jié)果如下:

si=123456

4,5,6.7.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.parse!nt(args[O]);

intn=lnteger.parselnt(args[1]);

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

sum=+二i;

)

)

輸出結(jié)果如下:

sum=3775

2-10Exer2_10.java程序

publicclassExer2_8

publicstaticvoidmain(Stringargs[])

A:

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

{

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

(

continueA;

)

)

)

)

輸出結(jié)果如下:

編程題

2-11按下列要求寫出Java語(yǔ)言的語(yǔ)句。

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

該語(yǔ)句如下:

Doubled=2.5;

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

該語(yǔ)句如下:

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

該語(yǔ)句如下:

charch[]=newchar[10];

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

Stringsl=”abc”;

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

booleanb=true

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

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

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

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

該語(yǔ)句如下:

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

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

inta,b,c;

?

if(a>b)

c=a;

else

c=b;

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

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

for(intm=100;m==50;m-=10)

()

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

該功能程序段如下:

I

I

F:fbr(ingi=...)

(

?

for(ingj=...)

(

I

I

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>afi])

min=a[i];

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

sum+=a[i];

)

)

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

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

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

importjava.io.*;

publicclasspro2_2

(

publicstaticvoidmain(Stringargs[])

{

doubled=23.56dl;

dl=d;

intn=O;

while(true)

(

d-;

if(d<0)

break;

n++

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

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

fl=f2=l,fn=fn-i+fn-2(W>3)

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

importjava.io.*;

publicclasspro2_3

(

publicstaticvoidmain(Stringargs[])

(

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

{

publicstaticvoidmain(Stringargs[])

{

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語(yǔ)句根據(jù)考試成績(jī)等級(jí)輸出百分制的分?jǐn)?shù)段。規(guī)定如下:

A.85?100

B.70?84

C.60-69

D.<60

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

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

importjava.io.*;

publicclasspro2_5

(

publicstaticvoidmain(Stringargs[])

(

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

intn=a/5;

if(a<60)

n=ll;

switch(n)

(

case20:case19:case18:case17:

case16:case15:case14:

casel3:casel2:

easel1:

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

B

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

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

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

importjava.io.*;

publicclasspro2_6

publicstaticvoidmain(Stringargs[])

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

for(intb=1;b<21;b++)

if(3*a+5*b+(100-a-b)/3==100&&(l00-a-b)%3==0)

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

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

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

公雞=18,母雞=4,小雞=78

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

***

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

importjava.io.*;

publicclasspro2_7

publicstaticvoidmain(Stringargs[])

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

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

if(j<=9-i)

”)

else

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

選擇題

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

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

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

C.被封裝的某些信息在封裝體外是不可見(jiàn)的

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

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

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

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

C.Java語(yǔ)言支持單重繼承和多重繼承

DJava語(yǔ)言通過(guò)接口可使子類使用多個(gè)父類的成員

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

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

B.Java語(yǔ)言允許方法重載

C.Java語(yǔ)言允許變量覆蓋

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

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

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

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

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

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

修飾符是(D)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A.抽象類是用修飾符abstract說(shuō)明的

B.抽象類是不可以定義對(duì)象的

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

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

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

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

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

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

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

3-12下列關(guān)于子類繼承父類的成員的描述中,錯(cuò)誤的是(A)

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

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語(yǔ)句創(chuàng)建的D.包有有包名包和無(wú)名包兩種

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

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

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

A.MathB.ObjectC.SystemD.String

判斷題

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

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

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

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

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

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

3-7最終變量就是Java語(yǔ)言中的符號(hào)常量。(對(duì))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3-27Java語(yǔ)言中,構(gòu)造方法是可以繼承的。(錯(cuò))

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

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

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

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

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

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

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

填空題

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

法),(對(duì)象名)表示。

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

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

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

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

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

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

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

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

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

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

3-lOJava語(yǔ)言中,定義子類時(shí),使用關(guān)鍵字(extends)來(lái)給出父類名。如果沒(méi)有指出父類,則該類的默

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

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

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-lExer3_l.java

classA

intx,y,z,sum;

A(inti,intj,intk)

x=i;

y=j;

z=k;

sum=x+y+z;

booleansameA(Aal)

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

retumtrue;

else

retumfalse;

booleansameS(Aal)

if(al.sum==sum)

returntrue;

else

returnfalse;

classExer3_l

{

publicstaticvoidmain(Stringargs[])

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

voidmeth(inti)

voidmeth(doublei)

classExer3_2

publicstaticvoidmain(Stringargs[])

(

inti=8;

doubled=6.8;

shorts=10;

floatf=5.3f;

byteb=9;

charc=,a';

Bob=newB();

ob.meth(i);

ob.meth(d);

ob.meth(s);

ob.meth((int)f);

ob.meth(b);

ob.meth(c);

)

)

輸出結(jié)果如下:

Int:8

Double:6.8

Int:10

Int:5

Int:9

Int:97

3-3Exer3_3.java

classC

(

intc;

C(inta)

(

c=0;

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

c+=i;

)

C(Cb)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論