




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)服裝定制合同采購(gòu)協(xié)議
- 工程承包合同范本-屋面防水
- 快遞企業(yè)與員工勞動(dòng)合同模板
- 餐飲業(yè)短期勞動(dòng)合同范本
- 勞動(dòng)合同范本 - 標(biāo)準(zhǔn)勞動(dòng)合同
- Module 4 Unit 1 Chinese people invented paper(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(一起)英語(yǔ)四年級(jí)上冊(cè)
- 企業(yè)培訓(xùn)與發(fā)展專項(xiàng)集體合同
- 18《一只窩囊的大老虎》教學(xué)設(shè)計(jì)-2024-2025學(xué)年語(yǔ)文四年級(jí)上冊(cè)統(tǒng)編版
- 養(yǎng)殖場(chǎng)勞務(wù)外包合同
- 施工場(chǎng)地平整合作合同書(shū)樣本
- 學(xué)工管理系統(tǒng)功能設(shè)計(jì)方案
- 健康管理師考試題與參考答案
- 智慧檔案館信息化綜合管理平臺(tái)建設(shè)方案
- 2025中糧可口可樂(lè)校園招聘管理單位筆試遴選500模擬題附帶答案詳解
- 氣體充裝站建設(shè)項(xiàng)目可行性投資建議書(shū)
- 阿爾茨海默病量表
- 《磺化過(guò)程》課件
- 設(shè)備基礎(chǔ)預(yù)埋件施工方案
- 2024年10月自考01685動(dòng)漫藝術(shù)概論試題及答案含評(píng)分參考
- 部編小學(xué)語(yǔ)文新教材培訓(xùn)
- 五年級(jí)書(shū)法上冊(cè)第一課課件
評(píng)論
0/150
提交評(píng)論