第2章
1.標(biāo)示符和關(guān)鍵字在定義和使用方面有何區(qū)別?
【答】定義方面:標(biāo)示符是用戶(hù)定義的、以字母開(kāi)頭的字母數(shù)字序列,關(guān)鍵字是由Java語(yǔ)言定義的、具有特定含義的英文單詞。
使用方面:標(biāo)示符用于命名變量、常量、類(lèi)、對(duì)象等元素,每一個(gè)關(guān)鍵字都有特定的含義,不能被賦予別的含義。
2.Java語(yǔ)言的基本數(shù)據(jù)類(lèi)型有哪些?引用數(shù)據(jù)類(lèi)型有哪些?
【答】基本數(shù)據(jù)類(lèi)型有:整數(shù)類(lèi)型byte、short、int、long,浮點(diǎn)數(shù)類(lèi)型float、double,字符類(lèi)型char,布爾類(lèi)型boolean;引用數(shù)據(jù)類(lèi)型包括數(shù)組(array)、類(lèi)(class)和接口(interface)
3.試分析基本數(shù)據(jù)類(lèi)型與引用數(shù)據(jù)類(lèi)型的主要特點(diǎn),并說(shuō)明使用這兩種變量有哪些差別?
【答】基本數(shù)據(jù)類(lèi)型的變量保存數(shù)據(jù)值,而引用數(shù)據(jù)類(lèi)型的變量保存地址。
4.算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算和位運(yùn)算各有哪些運(yùn)算符?
【答】算術(shù)運(yùn)算:?jiǎn)文窟\(yùn)算符有+(正)、—(負(fù))、++(自增)、——(自減),雙目運(yùn)算符有+(加)、—(減)、*(乘)、/(除)、%(取余)
關(guān)系運(yùn)算:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)都是雙目運(yùn)算
邏輯運(yùn)算:&(與)、|(或)、!(非)、^(異或)、&&(條件與)、||(條件或),其中!是單目運(yùn)算,其它都是雙目運(yùn)算
位運(yùn)算:~(非)、&(與)、|(或)、^(異或)、<<(左移位)、>>(右移位)、>>>(無(wú)符號(hào)移位)
5.程序中為什么需要常量和變量?聲明常量或變量時(shí),為什么必須給出其所屬的數(shù)據(jù)類(lèi)型?
【答】在程序中使用的數(shù)據(jù)大多需要經(jīng)常變化,用常量值表示顯然不夠,因此每一種算法語(yǔ)言都提供常量和變量來(lái)存儲(chǔ)數(shù)據(jù)。
為了確定常量或變量的數(shù)據(jù)性質(zhì)、取值范圍、以及它們占用的內(nèi)存單元的字節(jié)數(shù)和它們參加的合法運(yùn)算和操作。
6.什么是變量的作用域,聲明變量時(shí),如何確定變量的作用域?
【答】變量的作用域是指其作用范圍。變量聲明的位置決定了它的作用域
7.設(shè)i是一個(gè)整數(shù)類(lèi)型變量,寫(xiě)出下列問(wèn)題對(duì)應(yīng)的表達(dá)式?
(1)判斷i為奇數(shù)或偶數(shù);
【答】i%2==0//取值為true時(shí)是偶數(shù),否則是奇數(shù)
(2)判斷i的值是否在0~9之間;
【答】(i>0)&&(i<9)
8.設(shè)ch是一個(gè)字符變量,寫(xiě)出下列問(wèn)題對(duì)應(yīng)的表達(dá)式
(1)判斷ch是一個(gè)十進(jìn)制的數(shù)字字符
(2)判斷ch是一個(gè)十六進(jìn)制的數(shù)字字符
(3)判斷ch是一個(gè)大寫(xiě)字母
(4)判斷ch是一個(gè)英文字母,不論大寫(xiě)和小寫(xiě)
(5)如何將一個(gè)十進(jìn)制的數(shù)字字符ch轉(zhuǎn)換成對(duì)應(yīng)的整數(shù)類(lèi)型值
(6)如何將一個(gè)十六進(jìn)制的數(shù)字字符ch轉(zhuǎn)換成對(duì)應(yīng)的整數(shù)類(lèi)型值
9.說(shuō)明for、while、和do-while三種循環(huán)語(yǔ)句的特點(diǎn)和區(qū)別?
????While語(yǔ)句的特點(diǎn):“先判斷后執(zhí)行”,當(dāng)條件滿(mǎn)足時(shí)執(zhí)行循環(huán)體Do-while語(yǔ)句的特點(diǎn):“先執(zhí)行后判斷”,先執(zhí)行循環(huán)體,再判斷條件是否滿(mǎn)足For語(yǔ)句的特點(diǎn):“先判斷后執(zhí)行”,但for語(yǔ)句將循環(huán)控制變量初始值、循環(huán)條件和變量的變化規(guī)律都以表達(dá)式形式寫(xiě)在循環(huán)體之前。
10.分別用for,while,do-while三種循環(huán)語(yǔ)句計(jì)算一個(gè)正數(shù)的階乘
(1)for(i=1,i<=10,i++){
????????intSum=1;Sum=Sum*i;
????} ? \\等價(jià)于Sum*=i;
(2)inti=1;while(i<=10){intSum=1;Sum=Sum*i;i++;}
??????????inti=Sum=1;do{
????????????????Sum=Sum*i;
????????????????i++;
????????????}while(i<=10);
11.輸出以下數(shù)字的形式;
(1)0000
??????????0111
??????????0122
??????????0123
〖解答〗采用二重循環(huán)的程序如下。
publicclassPhalanx{????
????publicstaticvoidmain(Stringargs[]){
????????intn=4;
????????//階數(shù)
????????for(inti=0;i<n;i++){
????????????for(intj=0;j<n;j++)
????????????????System.out.print(""+((i<j)?i:j));
????????????System.out.println();
????????}
????}
}
14.Java的數(shù)組比C++的數(shù)組有哪些優(yōu)越之處?
【答】Java語(yǔ)言不支持C++的指針類(lèi)型,對(duì)數(shù)組的操作只能按照數(shù)組方式,不能使用指針。Java的數(shù)組都是動(dòng)態(tài)數(shù)組,并且是引用數(shù)據(jù)類(lèi)型,提高了安全性和簡(jiǎn)單性。另外,Java語(yǔ)言具有資源回收機(jī)制,能夠自動(dòng)收回不再使用的資源,一般情況下程序不需要?dú)w還數(shù)組所占的內(nèi)存空間。
15.作為引用數(shù)據(jù)類(lèi)型,數(shù)組變量與基本數(shù)據(jù)類(lèi)型的變量使用時(shí)有哪些區(qū)別?
【答】數(shù)組變量與基本數(shù)據(jù)類(lèi)型變量不同點(diǎn)在于,存儲(chǔ)單元的分配方式不同,兩個(gè)變量之間的賦值方式也不同?;緮?shù)據(jù)類(lèi)型變量獲得存儲(chǔ)單元的方式是靜態(tài)的,聲明了變量后系統(tǒng)就為變量分配了存儲(chǔ)單元,就可以對(duì)變量賦值。兩個(gè)變量之間的賦值是值本身。
數(shù)組變量的引用賦值,數(shù)組變量保存的是數(shù)組的引用,即數(shù)組占用的一片連續(xù)存儲(chǔ)空間的首地址及長(zhǎng)度特性。當(dāng)聲明一個(gè)數(shù)字變量而未申請(qǐng)空間時(shí),變量是未初始化的,沒(méi)有地址及特性值。只有申請(qǐng)了存儲(chǔ)空間,才能以下標(biāo)表示數(shù)組元素。