《Java基礎(chǔ)入門》課后習(xí)題及答案
《《Java基礎(chǔ)入門》課后習(xí)題及答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《《Java基礎(chǔ)入門》課后習(xí)題及答案(53頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Java 基礎(chǔ)入門》課后習(xí)題及答案 《Java基礎(chǔ)入門》課后習(xí)題 第1章Java開(kāi)發(fā)入門 一、填空題 1 、Java的三大體系分別就是_JavaSE、_JavaEE、_JavaME。 2 、Java程序的運(yùn)行環(huán)境簡(jiǎn)稱之為JRE。 3 、編譯Java程序需要使用_javac命令。 4 、javac、exe與java、exe兩個(gè)可執(zhí)行程序存放在JDK安裝目錄的bin目錄下。 5、 path環(huán)境變量用來(lái)存儲(chǔ)Java的編譯與運(yùn)行工具所在的路徑,而_classpath環(huán)境變量則用 來(lái)保存保存Java虛擬機(jī)要運(yùn)行的“、class”文件路徑。 二、選擇題 1 、以下選項(xiàng)中,哪些屬于
2、JDK工具?(多選)ABCD A、Java編譯器B、Java運(yùn)行工具C、Java文檔生成工具D、Java打包工具 2 、Java屬于以下哪種語(yǔ)言?C A、機(jī)器語(yǔ)言B、匯編語(yǔ)言C、高級(jí)語(yǔ)言D、以上都不對(duì) 3、下面哪種類型的文件可以在Java虛擬機(jī)中運(yùn)行?D A、、javaB、、jreC、、exeD、、class 4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件淇中java、exe命令的作用就是以下哪一種?B A、Java文檔制作工具B、Java解釋器C、Java編譯器D、Java啟動(dòng)器 5、如果jdk的安裝路徑為:d:\jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接
3、使用javac與java命令, 需要將環(huán)境變量path設(shè)置為以下哪個(gè)選項(xiàng)?B A.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre; 三、問(wèn)答題 1、簡(jiǎn)述Java的特點(diǎn)。 面向?qū)ο?、跨平臺(tái)性、健壯性、安全性、可移植性、多線程性、動(dòng)態(tài)性等。 2、簡(jiǎn)述JRE與JDK的區(qū)別。 JRE(JavaRuntimeEnvironment,Java運(yùn)行時(shí)環(huán)境工它相當(dāng)于操作系統(tǒng)部分提供了Java程序運(yùn)行時(shí) 所需要的基本條件與許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等。JRE就是提供給普通用戶 使用的,如果您只想運(yùn)行別人開(kāi)發(fā)好的Java程序,那么,
4、您的計(jì)算機(jī)上必須且只需安裝JRE。 JDK(JavaDevelopmentKit,Java開(kāi)發(fā)工具包,它包含編譯工具、解釋工具、文檔制作工具、打包工具多 種與開(kāi)發(fā)相關(guān)的工具,就是提供給Java開(kāi)發(fā)人員使用的。初學(xué)者學(xué)習(xí)與使用Java語(yǔ)言時(shí),首先必須下載 與安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載與安裝JRE了。 JDK(JavaDevelopmentKit,Java開(kāi)發(fā)工具包,它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開(kāi)發(fā)相關(guān)的工具,就是提供給Java開(kāi)發(fā)人員使用的。初學(xué)者學(xué)習(xí)與使用Java語(yǔ)言時(shí),首先必須下載 與安裝JDK。JDK中已經(jīng)包
5、含了JRE部分,初學(xué)者安裝JDK后不必再去下載與安裝JRE了。 四、編程題 使用記事本編寫一個(gè)HelloWorld程序,在dos命令行窗口編譯運(yùn)行。請(qǐng)按照題目的要求編寫程序并給出 運(yùn)行結(jié)果。 publicclassHelloWorld{publicstaticvoidmain(String口args){ System、out、println("這就是第一個(gè)Java程序!");}} 第2章Java編程基礎(chǔ) 一、填空題 1、Java中的程序代碼都必須在一個(gè)類中定義,類使用__class■關(guān)鍵字來(lái)定義。 2、布爾常量即布爾類型的兩個(gè)值,分別就是_true與_flase。 3、J
6、ava中的注釋可分為三種類型,分別就是_單行注釋//__、__多行注釋_/**/__、文檔/注釋** */。 4、 Java中的變量可分為兩種數(shù)據(jù)類型,分別就是_基本數(shù)據(jù)類型與_引用數(shù)據(jù)類型。 5、在Java中,byte類型數(shù)據(jù)占1__個(gè)字節(jié),short類型數(shù)據(jù)占__2個(gè)字節(jié),int類型數(shù)據(jù)占4 個(gè)字節(jié),long類型數(shù)據(jù)占8__個(gè)字節(jié)。 6、在邏輯運(yùn)算符中,運(yùn)算符___&___與___&&___用于表示邏輯與,__|與__||表示邏輯或。 7、若x=2,則表達(dá)式(x++)/3的值就是__0___。 8、若inta=2;a+=3;執(zhí)行后,變量a的值為_(kāi)_5。 9、若int[]a=
7、{12,45,34,46,23};,則a[2]=__34。 10、若inta[3][2]={{123,345},{34,56},{34,56}},則a[2][1]=__56。 二、判斷題 1、 、Java語(yǔ)言不區(qū)分大小寫。錯(cuò) 2、 0xC5表示的就是一個(gè)十六進(jìn)制整數(shù)。對(duì) 3、 continue語(yǔ)句只用于循環(huán)語(yǔ)句中,它的作用就是跳出循環(huán)。錯(cuò) 4、“/*…*/'中可以嵌套“//”注釋,但不能嵌套“/*???*/”注釋。對(duì) 5、 -5%3的運(yùn)算結(jié)果就是2。錯(cuò) 三、選擇題 1、以下選項(xiàng)中,哪些屬于合法的標(biāo)識(shí)符?(多選)AD A、Hello_WorldB、classC、123user
8、nameD、username123 2、關(guān)于方法重載的描述,以下選項(xiàng)中哪些就是正確的?(多選)(AD)ABD A、方法名必須一致 B、返回值類型必須不同 C、參數(shù)個(gè)數(shù)必須一致D、參數(shù)的個(gè)數(shù)或類型不一致 3、以下關(guān)于變量的說(shuō)法錯(cuò)誤的就是?C A、變量名必須就是一個(gè)有效的標(biāo)識(shí)符 B、變量在定義時(shí)可以沒(méi)有初始值 C、變量一旦被定義,在程序中的任何位置都可以被訪問(wèn) D、在程序中,可以將一個(gè)byte類型的值賦給一個(gè)int類型的變量,不需要特殊聲明 4、以下選項(xiàng)中,switch語(yǔ)句判斷條件可以接收的數(shù)據(jù)類型有哪些?(多選)ABCD A、intB、byteC、charD、short
9、 5、假設(shè)intx=2,三元表達(dá)式x>0?x+1:5的運(yùn)行結(jié)果就是以下哪一個(gè)?C A、0B、2C、3D、5 6、下面的運(yùn)算符中,用于執(zhí)行除法運(yùn)算就是哪個(gè)?A A、/B、\C、%D、* 7、下列語(yǔ)句哪些屬于循環(huán)語(yǔ)句?(多選)AC A、for語(yǔ)句B、if語(yǔ)句C、while語(yǔ)句D、switch語(yǔ)句 8、下面哪種寫法可以實(shí)現(xiàn)訪問(wèn)數(shù)組arr的第1個(gè)元素?A A、arr[0]B、arr(0)C、arr[1]D、arr⑴ 9、以下哪個(gè)選項(xiàng)可以正確創(chuàng)建一個(gè)長(zhǎng)度為3的二維數(shù)組?(B)C A、newint[2][3];B、newint[3肛 C、newint[][3];D、以上答案皆不對(duì)
10、10、請(qǐng)先閱讀下面的代碼。 intx=1; inty=2; if(x%2==0){y++; 《Java基礎(chǔ)入門》課后習(xí)題及答案 }else{ y--; } System、out、println("y="+y); 上面一段程序運(yùn)行結(jié)束時(shí),變量y的值為下列哪一項(xiàng)?A A、1B、2C、3D、switch語(yǔ)句 四、程序分析題 閱讀下面的程序,分析代碼就是否能夠編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。否則請(qǐng)說(shuō)明編譯 失敗的原因。 代碼一:b=7(編譯不通過(guò)。int值4與b相加時(shí),由于變量b的類型為byte,取值范圍沒(méi)有int類型大,存不 下int類型的值,因此編譯不
11、通過(guò)) publicclassTest01{ publicstaticvoidmain(String口args){byteb=3; b=b+4; System、out、println("b="+b);} } 代碼二:不能,y只在{}有效(編譯不通過(guò)。這就是因?yàn)閥就是在最里層的代碼塊中定義的一個(gè)變量,只 有在那個(gè)代碼) publicclassTest02{ publicstaticvoidmain(String口args){intx=12; { inty=96; System、out、println("xis"+x); System、out、println("yis"+
12、y);}y=x; System、out、println("xis"+x);} } 代碼三:3因?yàn)闆](méi)有break,,所以4以后都執(zhí)行 publicclassTest03{ publicstaticvoidmain(Stringargs口){intx=4,j=0; switch(x){ case 1: j++; case 2: j++; case 3: j++; case 4: j++; case 5: j++; default:j++;}System、out、println(j);}} 代碼四: 9 8 7 publicclassTest04{ publ
13、icstaticvoidmain(Stringargs口){ intn=9; while(n>6){ System、out、println(n); n--; }}}五、簡(jiǎn)答題 1、請(qǐng)列舉Java語(yǔ)言中的八種基本數(shù)據(jù)類型,并說(shuō)明每種數(shù)據(jù)類型所占用的空間大小。 Java語(yǔ)言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個(gè)字節(jié)。short短整型,占兩個(gè)字節(jié)。int整型,占4個(gè)字節(jié)。long長(zhǎng)整型,占8個(gè)字節(jié)。float單精度浮點(diǎn)型,占4個(gè)字節(jié)。double雙精度浮點(diǎn)型,占8個(gè)字節(jié)。char字符型,占兩個(gè)字節(jié)。boolean型,表示邏輯值,有true與false兩個(gè)值,分別占一個(gè)字節(jié)。 2
14、、簡(jiǎn)述&&與&的區(qū)別并舉例說(shuō)明。
如果使用“&”在表達(dá)式之間進(jìn)行連接,那么無(wú)論任何情況,“&”兩邊的表達(dá)式都會(huì)參與計(jì)算。如果使用“&&”
進(jìn)行連接,當(dāng)“&&”左邊的表達(dá)式為false,則不會(huì)執(zhí)行其右邊的表達(dá)式。例如定義intx=2,y=0;booleanb=
x 15、據(jù)實(shí)際參數(shù)的不同綁定到不同的方法。
六、編程題
請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。
1、請(qǐng)編寫程序,實(shí)現(xiàn)計(jì)算“1+3+5+7+…+99"的值。
提示:
1)使用循環(huán)語(yǔ)句實(shí)現(xiàn)自然數(shù)1~99的遍歷。
2)在遍歷過(guò)程中,通過(guò)條件判斷當(dāng)前遍歷的數(shù)就是否為奇數(shù),如果就是就累加,否則不加。
2、已知函數(shù)
J
x+3(x>0)
,0(x=0)
jx2T(x<0)
請(qǐng)?jiān)O(shè)計(jì)一個(gè)方法實(shí)現(xiàn)上面的函數(shù),根據(jù)傳入的值x的不同,返回對(duì)應(yīng)的y值。
提示:
1)定義一個(gè)static修飾符修飾的方法,方法接收一個(gè)int類型的參數(shù)x,返回值為int類型。
2)在方法中使用if…elseif、、 16、else語(yǔ)句針對(duì)x的值進(jìn)行三種情況的判斷。
3)根據(jù)判斷結(jié)果分別執(zhí)行不同的表達(dá)式,并將結(jié)果賦予變量y。
4)在方法的最后返回y的值。
5)在main方法中調(diào)用設(shè)計(jì)好的方法,傳入一個(gè)int型的值,將方法的返回值打印。
3、請(qǐng)編寫程序,實(shí)現(xiàn)對(duì)數(shù)組{25,24,12,76,101,96,28}的排序。
提示:使用冒泡排序算法。
Java 基礎(chǔ)入門》課后習(xí)題及答案
第3章面向?qū)ο?上)
一、填空題
1、 、面向?qū)ο蟮娜筇卣骶褪欠庋b性_、_繼承性與__多態(tài)性。
2、 在Java中,可以使用關(guān)鍵字__new來(lái)創(chuàng)建類的實(shí)例對(duì)象。
3、 定義在類中的變量被稱為_(kāi)_成員變量,定義在方 17、法中的變量被稱為局部變量
4、 面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)就是_類___的設(shè)計(jì),__類就是用來(lái)創(chuàng)建對(duì)象的模板。
5、 在非靜態(tài)成員方法中,可以使用關(guān)鍵字_this__訪問(wèn)類的其它非靜態(tài)成員。
6、 當(dāng)一個(gè)對(duì)象被當(dāng)成垃圾從內(nèi)存中釋放時(shí),它的__finalize()方法會(huì)被自動(dòng)調(diào)用。
7、 被static關(guān)鍵字修飾的成員變量被稱為_(kāi)靜態(tài)變量_,它可以被該類所有的實(shí)例對(duì)象共享。
8、 在一個(gè)類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為_(kāi)內(nèi)部類。
9、 在Java中,提供了一個(gè)」avadoc命令,用于將程序中的文檔注釋提取出來(lái),生成HTML格式的幫
助文檔。
10、 所謂類的 18、封裝就是指在定義一個(gè)類時(shí),將類中的屬性私有化,即使用_private關(guān)鍵字來(lái)修飾。
二、判斷題
1 、在定義一個(gè)類的時(shí)候,如果類的成員被private所修飾,該成員不能在類的外部被直接訪問(wèn)。對(duì)
2、Java中的每個(gè)類都至少有一個(gè)構(gòu)造方法,一個(gè)類中如果沒(méi)有定義構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)為這個(gè)類創(chuàng)建
一個(gè)默認(rèn)的構(gòu)造方法。對(duì)
3、聲明構(gòu)造方法時(shí),不能使用private關(guān)鍵字修飾。錯(cuò)
4、類中static修飾的變量或方法,可以使用類名或?qū)ο蟮囊米兞吭L問(wèn)。對(duì)
5、方法內(nèi)部類中不能訪問(wèn)外部類的成員變量。錯(cuò)
三、選擇題
1、類的定義必須包含在以下哪種符號(hào)之間?
A、方括號(hào)[] B、花括號(hào){ 19、} C、
2、下面哪一個(gè)就是正確的的聲明? D
A、 public void HH {…}
C 、 public class void number{}
3、在以下什么情況下 ,構(gòu)造方法會(huì)被調(diào)用?
A 、 定義時(shí) B、 創(chuàng)建對(duì)象時(shí)
4、下面對(duì)于構(gòu)造方法的描述 ,正確有哪些?
A 、方法名必須與名相同
D 、圓括號(hào) ()
B、public class Move() {…}
D、 public class Car {…}
B
C、 調(diào)用對(duì)象方法時(shí) D、 使用對(duì)象的變量時(shí)
(多選 )ABC
B、方法名的前面沒(méi)有返回值型的聲明
C、在方法中不能使用return語(yǔ)句返回 20、一個(gè)值
D、當(dāng)定義了帶參數(shù)的構(gòu)造方法,系統(tǒng)默認(rèn)的不帶參數(shù)的構(gòu)造方法依然存在
5、使用this調(diào)用的構(gòu)造方法,下面的說(shuō)法正確的就是?(多選)ACD(ABCD)
A、使用this調(diào)用構(gòu)造方法的格式為this([參數(shù)1,參數(shù)2…])
B、只能在構(gòu)造方法中使用this調(diào)用其它的構(gòu)造方法
C、使用this調(diào)用其它構(gòu)造方法的語(yǔ)句必須放在第一行
D、不能在一個(gè)的兩個(gè)構(gòu)造方法中使用this互相調(diào)用
6、下面哪些可以使用static關(guān)鍵字修飾?(多選)AC(ACD)
A、成員變量B、局部變量C、成員方法D、成員內(nèi)部類
7、關(guān)于內(nèi)部,下面說(shuō)法正確的就是?(多選)ACD(ABCD)
A、成員內(nèi)部 21、就是外部的一個(gè)成員,可以訪問(wèn)外部的其它成員
B、外部可以訪問(wèn)成員內(nèi)部的成員
C、方法內(nèi)部類只能在其定義的當(dāng)前方法中進(jìn)行實(shí)例化
《Java基礎(chǔ)入門》課后習(xí)題及答案
D、靜態(tài)內(nèi)部類中可以定義靜態(tài)成員,也可以定義非靜態(tài)成員
8、下面對(duì)于單例設(shè)計(jì)模式的描述,正確的就是?(多選)BCD(ABCD)
A、類中定義一個(gè)無(wú)參的構(gòu)造方法,并且聲明為私有
B、在內(nèi)部創(chuàng)建一個(gè)該類的實(shí)例對(duì)象,使用靜態(tài)變量引用該實(shí)例對(duì)象
C、使用private修飾靜態(tài)變量,禁止外界直接訪問(wèn)
D、定義靜態(tài)方法返回該類實(shí)例
9、請(qǐng)先閱讀下面的代碼 D
public class Test {
public Tes 22、t(){
System、out、println(" }
public Test(int x){
this();
System、out、println(" }
public Test(boolean b){
this(1);
System、out、println(" }
構(gòu)造方法一被調(diào)用了 ");
構(gòu)造方法二被調(diào)用了 ");
構(gòu)造方法三被調(diào)用了 ");
publicstaticvoidmain(String口args){Testtest=newTest(true);
}
}
上面程序的運(yùn)行結(jié)果為下列哪一項(xiàng)?
A、構(gòu)造方法一被調(diào)用了
B、構(gòu)造方法二被調(diào)用了
23、
C、構(gòu)造方法三被調(diào)用了
D、以上三個(gè)選項(xiàng)之與
10、Outer類中定義了一個(gè)成員內(nèi)部類
Inner,需要在main()方法中創(chuàng)建Inner類實(shí)例對(duì)象,以下四種方式
哪一種就是正確的? D
A、
Inner in = new Inner()
B、Inner in = new Outer、Inner();
C、Outer、Innerin=newOuter、Inner();D、Outer、Innerin=newOuter()、newInner();
四、程序分析題
閱讀下面的程序,分析代碼就是否能夠編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。否則請(qǐng)說(shuō)明編譯失 24、敗的原因。
代碼一:不能,secret就是私有成員,只能類內(nèi)部訪問(wèn)(程序不能編譯通過(guò),因?yàn)樵陬怉中的成員變量secret
用private修飾,所以在類Testi中無(wú)法訪問(wèn))classA{privateintsecret=5;
}publicclassTesti{publicstaticvoidmain(String口args){Aa=newA();System、out、println(a、secret++);
}}
代碼二:250(程序不能編譯通過(guò),因?yàn)樵陟o態(tài)方法method()中不能訪問(wèn)非靜態(tài)成員變量x。)
publicclassTest2{intx=50;staticinty 25、=200;
publicstaticvoidmethod(){
System、out、println(x+y);}publicstaticvoidmain(String口args){Test2、method();}}
代碼三:Inner為私有內(nèi)部類,不允許外部訪問(wèn)(inner)Innerinner=newOuter。、newInner();可以用外部類
訪問(wèn)內(nèi)部類
publicclassOuter{
publicStringname="Outer";
privateclassInner{
Stringname="inner";
voidshowName(){
System、 26、out、println(name);
}
}
publicstaticvoidmain(String[]args){
Innerinner=newOuter()、newInner();
System、out、println(inner、name);}}
五、簡(jiǎn)答題
1、構(gòu)造方法與普通的成員方法有什么區(qū)別?
構(gòu)造方法就是類的一個(gè)特殊成員,它會(huì)在類實(shí)例化對(duì)象時(shí)被自動(dòng)調(diào)用。而普通方法只有在使用的時(shí)候才
會(huì)被調(diào)用。在定義構(gòu)造方法時(shí)要求方法名與類名相同、在方法名的前面沒(méi)有返回值類型的聲明、在方法中
不能使用return語(yǔ)句返回一個(gè)值
2、單例設(shè)計(jì)模式具備哪些特點(diǎn)?
單例模式可以保 27、證在整個(gè)程序運(yùn)行期間針對(duì)該類只存在一個(gè)實(shí)例對(duì)象。六、編程題
1、請(qǐng)按照以下要求設(shè)計(jì)一個(gè)學(xué)生類Student,并進(jìn)行測(cè)試。
要求如下:
1)Student類中包含姓名、成績(jī)兩個(gè)屬性
2)分別給這兩個(gè)屬性定義兩個(gè)方法,一個(gè)方法用于設(shè)置值,另一個(gè)方法用于獲取值、
3)Student類中定義一個(gè)無(wú)參的構(gòu)造方法與一個(gè)接收兩個(gè)參數(shù)的構(gòu)造方法,兩個(gè)參數(shù)分別為姓名與成
績(jī)屬性賦值
4)在測(cè)試類中創(chuàng)建兩個(gè)Student對(duì)象,一個(gè)使用無(wú)參的構(gòu)造方法,然后調(diào)用方法給姓名與成績(jī)賦值,一
個(gè)使用有參的構(gòu)造方法,在構(gòu)造方法中給姓名與成績(jī)賦值
2、定義一個(gè)Father與Child類,并進(jìn)行測(cè)試。
要求如 28、下:
1)Father類為外部類,類中定義一個(gè)私有的String類型的屬性name,name的值為"zhangjun”。
2)Child類為Father類的內(nèi)部類淇中定義一個(gè)introFather()方法,方法中調(diào)用Father類的name屬性。
3)定義一個(gè)測(cè)試類Test,在Test類的main()方法中創(chuàng)建Child對(duì)象,并調(diào)用introFather()方法。
第4章面向?qū)ο?下)
一、填空題
1、在Java語(yǔ)言中,允許使用已存在的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)我們稱為繼承。
2、一個(gè)類如果實(shí)現(xiàn)一個(gè)接口,那么它就需要實(shí)現(xiàn)接口中定義的全部一方法,否則該類就必須定義成
抽象類。 29、
3、在程序開(kāi)發(fā)中,要想將一個(gè)包中的類導(dǎo)入到當(dāng)前程序中,可以使用_import關(guān)鍵字。
4、一個(gè)類可以從其它的類派生出來(lái),派生出來(lái)的類稱為—子類,用于派生的類稱為_(kāi)基類或者
父類。
5、JDK中定義了大量的異常類,這些類都就是.Exception類的子類或者間接子類。
6、定義一個(gè)Java類時(shí),如果前面加使用_final關(guān)鍵字修飾,那么該類不可以被繼承。
7、如果子類想使用父類中的成員,可以通過(guò)關(guān)鍵字__super引用父類的成員。
8、在Java語(yǔ)言中,所有的類都直接或間接繼承自.Object類。
9、異常的捕獲通常由try、catch兩部分組成,_try代碼塊用來(lái)存放可能發(fā)生 30、異常,_catch代碼
塊用
來(lái)處理產(chǎn)生的異常。
10、在Java語(yǔ)言中耍想就是將一個(gè)已編譯的類打包成jar文件,可以使用的命令就是jar-cvf,要想
在命令行窗口運(yùn)行jar文件,可以使用的命令就是__java-jar。
二、判斷題
1、抽象方法必須定義在抽象類中,所以抽象類中的方法都就是抽象方法。錯(cuò)
2、Java中被final關(guān)鍵字修飾的變量,不能被重新賦值。對(duì)
《Java基礎(chǔ)入門》課后習(xí)題及答案
3、不存在繼承關(guān)系的情況下,也可以實(shí)現(xiàn)方法重寫。錯(cuò)
4、package聲明語(yǔ)句應(yīng)當(dāng)為Java源文件中的第一條語(yǔ)句。對(duì)
5、 接口中只能定義常量與抽象方法。錯(cuò)(對(duì))
三 31、、選擇題
1 、在類的繼承關(guān)系中,需要遵循以下哪個(gè)繼承原則?B
A、多重B、單一C、雙重D、不能繼承
2、在Java語(yǔ)言中,以下哪個(gè)關(guān)鍵字用于在方法上聲明拋出異常?C
A、tryB、catchC、throwsD、throw
3、關(guān)于super關(guān)鍵字以下說(shuō)法哪些就是正確的?(多選)ABD(ABC)
A、super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法
B、super關(guān)鍵字可以調(diào)用父類的普通方法
C、super與this不能同時(shí)存在于同一個(gè)構(gòu)造方法中
D、super與this可以同時(shí)存在于同一個(gè)構(gòu)造方法中
4、以下說(shuō)法哪些就是正確的?(多選)ABCD
A、Java語(yǔ)言中允許一個(gè)類實(shí)現(xiàn)多 32、個(gè)接口
B、Java語(yǔ)言中不允許一個(gè)類繼承多個(gè)類
C、Java語(yǔ)言中允許一個(gè)類同時(shí)繼承一個(gè)類并實(shí)現(xiàn)一個(gè)接口
D、Java語(yǔ)言中允許一個(gè)接口繼承一個(gè)接口
5、類中的一個(gè)成員方法被下面哪個(gè)修飾符修飾,該方法只能在本類被訪問(wèn)?C
A、publicB、protectedC、privateD、default
6、關(guān)于抽象類的說(shuō)法哪些就是正確的?(多選)AC
A、抽象類中可以有非抽象方法。
B、如果父類就是抽象類,則子類必須重寫父類所有的抽象方法。
C、不能用抽象類去創(chuàng)建對(duì)象。
D、接口與抽象類就是同一個(gè)概念。
7、在Java中,要想讓一個(gè)類繼承另一個(gè)類,可以使用以下哪個(gè)關(guān)鍵字?C 33、
A、inherits B、implements
C、extends
D、modifies
8、System類位于以下哪個(gè)包中? D
A、java、io B、java、util
C、java、awt D、java、lang
9、已知類的繼承關(guān)系如下 :A
class Employee;
class Manager extends Employee;
class Director extends Employee;
則以下語(yǔ)句能通過(guò)編譯的有哪些?
A、 Employee e=new Manager。;
B、 Director d=new Manager。 34、;
C、 Director d=new Employee。;
D、Manager m=new Director。;
10、編譯運(yùn)行下面的程序,結(jié)果就是什么? B
public class A {
public static void main(String口 args) {
B b = new B();
b、test();
}
void test() {
System、out、print("A");
}
}
class B extends A {
void test() {
super 、test();
System、out、print("B");
} 35、
}
A、產(chǎn)生編譯錯(cuò)誤
B、代碼可以編譯運(yùn)行,并輸出結(jié)果AB
C、代碼可以編譯運(yùn)行,但沒(méi)有輸出D、編譯沒(méi)有錯(cuò)誤,但會(huì)產(chǎn)生運(yùn)行時(shí)異常
四、分析題閱讀下面的程序,分析代碼就是否能編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。如果不能編譯通過(guò)請(qǐng)說(shuō)明原因。
代碼一:進(jìn)入catch代碼塊
進(jìn)入finally代碼塊(程序編譯能通過(guò),這就是因?yàn)閕ntx=2/0;System、out、println(x);這兩條語(yǔ)句使用了try塊,捕獲了程序因?yàn)槌?。而產(chǎn)生的異常情況,之后程序會(huì)繼續(xù)向下執(zhí)行,輸出“進(jìn)入catch代碼塊”
“進(jìn)入finally代碼塊”。)
publicclassTest 36、01{publicstaticvoidmain(String口args){try{
intx=2/0;
System、out、println(x);}catch(Exceptione){
System、out、println("進(jìn)入catch代碼塊");}finally{
System、out、println("進(jìn)入finally代碼塊");}}}
代碼二:不能,final修飾shout不能被重寫(程序編譯不通過(guò),這就是因?yàn)樵诔绦蛑惺褂昧薴inal關(guān)鍵字修飾
Animal類,使彳導(dǎo)Animal類不能被繼承。shout()方法中同樣使用了final關(guān)鍵字,使得該方法不能被重寫。)
37、finalclassAnimal{publicfinalvoidshout(){//程序代碼
}}classDogextendsAnimal{
publicvoidshout(){//程序代碼
}}
classTest02{publicstaticvoidmain(String[]args){
Dogdog=newDog();}}代碼三:動(dòng)物叫!汪汪……classAnimal{voidshout(){
System、out、println("動(dòng)物叫!");}}classDogextendsAnimal{voidshout(){super、shout();System、out、pri 38、ntln("汪汪");
}}publicclassTest03{publicstaticvoidmain(String口args){Animalanimal=newDog();animal、shout();}}
代碼四:不能,Dog沒(méi)有實(shí)現(xiàn)Animal所有方法,Dog為抽象類不能創(chuàng)建對(duì)象(程序編譯不通過(guò),因?yàn)榻涌谥卸x的方法不能有方法體,所以定義的eat()方法就是錯(cuò)誤的。接口中的方法必須在子類中全部實(shí)現(xiàn),由于run()
方法在子類中并沒(méi)有重新實(shí)現(xiàn),所以這也就是錯(cuò)誤的。)
interfaceAnimal{voidbreathe();voidrun();voideat(){};}clas 39、sDogimplementsAnimal{publicvoidbreathe(){
System、out、println("I'mbreathing")}publicvoideat(){
System、out、println("I'meathing")}}publicclasstest04{
publicstaticvoidmain(String[]args){
Dogdog=newDog();
dog、breathe();
dog、eat();}
}
五、簡(jiǎn)答題
1、什么就是方法重寫?
在繼承關(guān)系中,子類的方法與父類的某一方法具有相同的方法名、返回類型與參數(shù)列表,則稱子類 40、
的該方法重寫(覆蓋)父類的方法。
2、什么就是多態(tài)?
多態(tài)意味著一個(gè)對(duì)象有著多種形態(tài),可以在特定的情況下,表現(xiàn)不同的狀態(tài),從而對(duì)應(yīng)著不同的屬性
與方法。簡(jiǎn)單的說(shuō),多態(tài)就就是使用父類類型的變量引用子類對(duì)象,根據(jù)被引用子類對(duì)象的特性,程序會(huì)得到
不同的運(yùn)行效果。
3、抽象類與接口的區(qū)別?
在Java中,使用abstract關(guān)鍵字修飾的類稱之為抽象類。抽象類就是不能被實(shí)例化的,通常需要寫
一個(gè)子類來(lái)繼承抽象類,同時(shí)實(shí)例化子類來(lái)獲得該類的對(duì)象。抽象類通常用于表示一種抽象的概念。
接口可以說(shuō)就是一種特殊的抽象類,接口中只能定義常量與抽象方法。由于接口的特殊性,在定義時(shí)
需要使用in 41、terface關(guān)鍵字。
六、編程題
請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。
1、設(shè)計(jì)一個(gè)學(xué)生類Student與它的一個(gè)子類Undergraduate,要求如下:
1)Student類有name(姓名)、與age(年齡)屬性,一個(gè)包含兩個(gè)參數(shù)的構(gòu)造方法,用于給name與age
屬性賦值,一個(gè)show()方法打印Student的屬性信息
2)本科生類Undergraduate增加一個(gè)degree(學(xué)位)屬性。有一個(gè)包含三個(gè)參數(shù)的構(gòu)造方法,前兩個(gè)
參數(shù)用于給繼承的name與age屬性賦值,第三個(gè)參數(shù)給degree專業(yè)賦值,一個(gè)show()方法用于
打印Undergraduate的屬 42、性信息
3)在測(cè)試類中分別創(chuàng)建Student對(duì)象與Undergraduate對(duì)象,調(diào)用它們的show()。
《 Java 基礎(chǔ)入門》課后習(xí)題及答案
2、設(shè)計(jì)一個(gè)Shape接口與它的兩個(gè)實(shí)現(xiàn)類Square與Circle,要求如下:
1)Shape接口中有一個(gè)抽象方法area(),方法接收有一個(gè)double類型的參數(shù),返回一個(gè)double類型的
結(jié)果
2)Square與Circle中實(shí)現(xiàn)了Shape接口的area()抽象方法,分別求正方形與圓形的面積并返回
在測(cè)試類中創(chuàng)建Square與Circle對(duì)象,計(jì)算邊長(zhǎng)為2的正方形面積與半徑為3的圓形面積
3、自定義一個(gè)異常類NoThi 43、sSoundException與Player類,在Player的play()方法中使用自定義異常,要
求入下:
1 )NoThisSongException繼承Exception類,類中有一個(gè)無(wú)參與一個(gè)接收一個(gè)String類型參數(shù)的構(gòu)
造方法,構(gòu)造方法中都使用super關(guān)鍵字調(diào)用父類的構(gòu)造方法。
2 )Player類中定義一個(gè)play(intindex)方法,方法接收一個(gè)int類型的參數(shù),表示播放歌曲的索引,
當(dāng)index>10時(shí),paly()方法用throw關(guān)鍵字拋出NoThisSongException異常,創(chuàng)建異常對(duì)象時(shí),調(diào)用有參的構(gòu)造方法,傳入“您播放的歌曲不存在”。
3) 44、在測(cè)試類中創(chuàng)建Player對(duì)象,并調(diào)用play()方法測(cè)試自定義的NoThisSongException異常,使用
try…catch語(yǔ)句捕獲異常,調(diào)用NoThisSongException的getMessage()方法打印出異常信息。
第5章多線程
一、填空題
1 、一個(gè)應(yīng)用程序中有多條并發(fā)執(zhí)行的線索,每條線索都被稱作一個(gè)線程,它們會(huì)交替執(zhí)行,彼此
間可以進(jìn)行_通信。
2、在實(shí)現(xiàn)多線程的程序時(shí)有兩種方式,一就是通過(guò)繼_Thread承類,二就是通過(guò)實(shí)現(xiàn)
Runnable接口。
3、 yield()方法只能讓相同優(yōu)先級(jí)或者更高優(yōu)先級(jí)、處于_就緒狀態(tài)的線程獲得運(yùn)行的機(jī)會(huì)。
4、 45、在Java語(yǔ)言中,同步方法需要用到關(guān)鍵字_synchronized_,對(duì)于同步方法而言無(wú)需指定同步鎖,它的同
步
鎖就是方法所在的_對(duì)象,也就就是_this(關(guān)鍵字)。
5、在多任務(wù)系統(tǒng)中,每個(gè)獨(dú)立執(zhí)行的程序稱之為_(kāi)線程,也就就是“正在運(yùn)行的程序”。
6、線程的整個(gè)生命周期分為五個(gè)階段,分別就是_新建、就緒、_運(yùn)行、_阻塞、
與死亡。
7、線程的優(yōu)先級(jí)用1~10之間的整數(shù)來(lái)表示,其中__10___代表優(yōu)先級(jí)最高,__1___代表優(yōu)先級(jí)最低。
8、在Thread類中,提供了一個(gè)start()方法,該方法用于啟動(dòng)線程,當(dāng)新線程啟動(dòng)后,系統(tǒng)會(huì)自動(dòng)調(diào)
用__run()方法。
9、要想 46、解決線程間的通信問(wèn)題,可以使用__wait()、notify()、_notifyALL()方法。
10、要將某個(gè)線程設(shè)置為后臺(tái)線程,需要調(diào)用該線程的_setDaemon(true)方法,該方法必須在
_start()方法之前調(diào)用。
二、判斷題
1、當(dāng)我們創(chuàng)建一個(gè)線程對(duì)象時(shí),該對(duì)象表示的線程就立即開(kāi)始運(yùn)行。錯(cuò)
2、如果前臺(tái)線程全部死亡,后臺(tái)線程也會(huì)自動(dòng)死亡。對(duì)
3、同步代碼塊中的鎖對(duì)象可以就是任意類型的對(duì)象。對(duì)
4、靜態(tài)方法不能使用synchronized關(guān)鍵字來(lái)修飾。錯(cuò)
5、線程結(jié)束等待或者阻塞狀態(tài)后,會(huì)進(jìn)入運(yùn)行狀態(tài)。錯(cuò)
三、選擇題
1 、Thread類位于下列哪個(gè)包中?B 47、
A、java、ioB、java、langC、java、utilD、java、awt
2、關(guān)于線程的創(chuàng)建過(guò)程,下面四種說(shuō)法正確的有哪些?(多選)AC
A、定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實(shí)例對(duì)象,調(diào)用對(duì)象的start()方
法
B、定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實(shí)例對(duì)象,調(diào)用對(duì)象的run()方法
C、定義一個(gè)實(shí)現(xiàn)Runnable接口的類并實(shí)現(xiàn)run()方法,創(chuàng)建該類實(shí)例對(duì)象,將其作為參數(shù)傳遞給
Thread類的構(gòu)造方法來(lái)創(chuàng)建Thread對(duì)象,調(diào)用Thread對(duì)象的start()方法
D、定義一 48、個(gè)實(shí)現(xiàn)Runnable接口的類并實(shí)現(xiàn)run()方法,創(chuàng)建該類對(duì)象,然后調(diào)用run()方法
3、對(duì)于通過(guò)實(shí)現(xiàn)Runnable接口創(chuàng)建線程,下面說(shuō)法正確的有哪些?(多選)ABC
A、適合多個(gè)相同程序代碼的線程去處理同一個(gè)資源的情況
B、把線程同程序代碼、數(shù)據(jù)有效的分離,很好的體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想
C、可以避免由于Java的單繼承帶來(lái)的局限性
D、編寫簡(jiǎn)單,可以不通過(guò)Thread類直接創(chuàng)建線程
4、對(duì)于線程的生命周期,下面四種說(shuō)法正確的有哪些?(多選)ABC(BC)
A、調(diào)用了線程的start()方法,該線程就進(jìn)入運(yùn)行狀態(tài)(就緒,還要獲得CPU使用權(quán))
B、線程的run()方法運(yùn) 49、行結(jié)束或被未catch的InterruptedException等異常終結(jié),那么該線程進(jìn)入死亡
狀態(tài)
C、線程進(jìn)入死亡狀態(tài),但就是該線程對(duì)象仍然就是一個(gè)Thread對(duì)象,在沒(méi)有被垃圾回收器回收之前
仍可以像引用其它對(duì)象一樣引用它
D、線程進(jìn)入死亡狀態(tài)后,調(diào)用它的start()方法仍然可以重新啟動(dòng)
5、對(duì)于死鎖的描,下面四種說(shuō)法正確有哪些?(多選)AB(ABD)
A、當(dāng)兩個(gè)線程互相等待對(duì)方釋放同步鎖時(shí)會(huì)發(fā)生死鎖
B、Java虛擬機(jī)沒(méi)有檢測(cè)與處理死鎖的措施
C、一旦出現(xiàn)死鎖,程序會(huì)發(fā)生異常
《Java基礎(chǔ)入門》課后習(xí)題及答案
D、處于死鎖狀態(tài)的線程處于阻塞狀態(tài),無(wú)法繼續(xù)運(yùn)行 50、
6、下面四個(gè)選項(xiàng)中,哪些就是線程進(jìn)入阻塞狀態(tài)的原因?(多選)ABC
A、線程試圖獲取某個(gè)對(duì)象的同步鎖,而該鎖被其它線程持有
B、線程調(diào)用了另一個(gè)線程的join()方法
C、當(dāng)線程調(diào)用了一個(gè)阻塞式的IO方法
D、線程調(diào)用了setDaemon(booleanb)方法
7、線程調(diào)用sleep()方法后,該線程將進(jìn)入以下哪種狀態(tài)?C
A、就緒狀態(tài)B、運(yùn)行狀態(tài)
C、阻塞狀態(tài)D、死亡狀態(tài)
8、在以下哪種情況下,線程進(jìn)入就緒狀態(tài)?D
A、線程調(diào)用了sleep()方法時(shí)B、線程調(diào)用了join()方法(終止)
C、線程調(diào)用了yield()方法時(shí)D、線程調(diào)用了notify()方法??
9 51、、下面四個(gè)選項(xiàng)中,對(duì)線程同步的目的描述正確的有哪些?(多選)AD(AB)
A、鎖定資源,使同一時(shí)刻只有一個(gè)線程去訪問(wèn)它,防止多個(gè)線程操作同一個(gè)資源引發(fā)錯(cuò)誤
B、提高線程的執(zhí)行效率
C、讓線程獨(dú)占一個(gè)資源
D、讓多個(gè)線程同時(shí)使用一個(gè)資源
10、對(duì)于wait()方法,下面說(shuō)法正確的就是?(多選)ABCD
A、wait()方法的調(diào)用者就是同步鎖對(duì)象
B、wait()方法使線程進(jìn)入等待狀態(tài)
C、調(diào)用同一鎖對(duì)象的notify()或notifyAll()方法可以喚醒調(diào)用wait()方法等待的線程
D、調(diào)用wait()方法的線程會(huì)釋放同步鎖對(duì)象
四、程序分析題
閱讀下面的程序,分析代碼 52、就是否能編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。如果不能編譯通過(guò)
請(qǐng)說(shuō)明原因。
1、代碼一:不能,RunHandler沒(méi)有繼承Thread,不能用Thread創(chuàng)建對(duì)象(程序不能編譯通過(guò),因?yàn)?
RunHandler類沒(méi)有實(shí)現(xiàn)Runnable接口,因此RunHandler的實(shí)例對(duì)象不能作為參數(shù)傳遞給Thread的構(gòu)造方
法。)
classRunHandler{publicvoidrun(){System、out、println("run");
}}publicclassTest{publicstaticvoidmain(String[]args){
Threadt=newThre 53、ad(newRunHandler());t、start();
}}
2、代碼二:thisisrun(程序不能編譯通過(guò),因?yàn)門hread的子類A重寫的run()方法的訪問(wèn)級(jí)別不能低于父類run()方法的。訪問(wèn)級(jí)別)
publicclassAextendsThread{protectedvoidrun(){System、out、println("thisisrun()");}
publicstaticvoidmain(String口args){Aa=newA();
a、start();
}}
3、代碼三:Exception(程序不能編譯通過(guò),因?yàn)橥椒椒ㄖ姓{(diào)用wait()方法的對(duì)象必 54、須為同步鎖對(duì)象)
publicclassTest{
privateObjectobj=newObject();
publicsynchronizedvoida(){try{
obj、wait();改this、wait()System、out、println("waiting");
《Java基礎(chǔ)入門》課后習(xí)題及答案
}catch(InterruptedExceptione){System、out、println("Exception");
}}publicstaticvoidmain(String口args){
newTest()、a();}
}
4、為了使下面的程序能 55、夠輸出"Threadisrunning”,請(qǐng)?jiān)谠诳崭裉幪钌舷鄳?yīng)的代碼。publicclassBimplementsRunnable{
publicstaticvoidmain(String口args){
Threadt=newThread(newB());
__t、start()//此處填空
}publicvoidrun(){
System、out、println("Threadisrunning");}publicvoidgo(){
start(1);
}publicvoidstart(inti){}
}
五、簡(jiǎn)答題
1、java中有幾種方法可以實(shí)現(xiàn)一個(gè)線程?請(qǐng)舉例說(shuō)明。 56、
一種就是繼承java、lang包下的Thread類履寫Thread類的run()方法,在run()方法中實(shí)現(xiàn)運(yùn)行在線程
上的代碼。
newThread(){
publicvoidrun(){}
}、start();
另一種就就是實(shí)現(xiàn)java、lang、Runnable接口,同樣就是在run()方法中實(shí)現(xiàn)運(yùn)行在線程上的代碼。
newThread(newRunnable(){
publicvoidrun(){}
})、start()
2、sleep()與 wait()有什么區(qū)別
《Java基礎(chǔ)入門》課后習(xí)題及答案
調(diào)用sleep()方法,正在執(zhí)行的線程主動(dòng)讓出CP 57、U去執(zhí)行其她線程,在sleep()方法指定的時(shí)間過(guò)后,CPU才會(huì)
回到這個(gè)線程上繼續(xù)往下執(zhí)行,如果當(dāng)前線程進(jìn)入了同步鎖,sleep()方法并不會(huì)釋放鎖,即使當(dāng)前線程使用
sleep()方法讓出了CPU,但其它被同步鎖擋住了的線程也無(wú)法得到執(zhí)行。wait()在一個(gè)已經(jīng)進(jìn)入了同步鎖的
線程內(nèi)進(jìn)行調(diào)用,讓當(dāng)前線程暫時(shí)讓出同步鎖,以便其它正在等待此鎖的線程可以得到同步鎖并運(yùn)行。當(dāng)其
它線程調(diào)用了notify()方法后,調(diào)用wait()方法的線程就會(huì)解除wait狀態(tài),當(dāng)再次獲得同步鎖后,程序可以繼續(xù)
向下執(zhí)行。
六、編程題
請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。
1、通過(guò)繼承Threa 58、d類的方式創(chuàng)建兩個(gè)線程,在Thread構(gòu)造方法中指定線程的名字,并將這兩個(gè)線程的
名字打印出來(lái)。
2、通過(guò)實(shí)現(xiàn)Runnable接口的方式創(chuàng)建一個(gè)新線程,要求main線程打印100此次“main”,新線程打印
50次“new”。
3、模擬傳智播客的三個(gè)老師同時(shí)分發(fā)80份學(xué)習(xí)筆記,每個(gè)老師相當(dāng)于一個(gè)線程。
4、編寫10個(gè)線程,第一個(gè)線程從1加到10,第二個(gè)線程從11加到20、、、第十個(gè)線程從91加到100,
最后再把十個(gè)線程結(jié)果相加。
第6章JavaAPI
一、填空題
1、在Java中定義了兩個(gè)類來(lái)封裝對(duì)字符串的操作,它們分別就是String_與_StringBuffer。
2 59、、Java中的操作日期的類有_Date___、_Calendar___、DateFormat等。
3、在程序中若想取得一個(gè)Runtime實(shí)例,則可以調(diào)用Runtime類的靜態(tài)方法getRnutime()。
4、Math類中用于計(jì)算所傳遞參數(shù)平方根的方法就是_sqrt()。
5、Java中專門用于將日期格式化為字符串的類就是_DateFormat。
6、Math類中有兩個(gè)靜態(tài)常量PI與E,分別代表數(shù)學(xué)常量_兀___與_e―。
7、Java中的用于產(chǎn)生隨機(jī)數(shù)的類就是_Random,它位于java、util包中。
8、String類中用于返回字符串字符個(gè)數(shù)的方法就是_length()。
60、
9、System類中所提供的屬性與方法都就是—靜態(tài)—的,想要引用這些屬性與方法,直接使用System類
調(diào)用即可。
10、已知sb為StringBuffer的一個(gè)實(shí)例,且sb、toString()的值為"abcde",則執(zhí)行sb、reverse。后,sb、toString()的值為_(kāi)"edcba_"。
二、判斷題
1、String對(duì)象與StringBuffer對(duì)象都就是字符串變量,創(chuàng)建后都可以修改。錯(cuò)
2、用運(yùn)算符“==”比較字符串對(duì)象時(shí),如果兩個(gè)字符串的值相同,結(jié)果為true。錯(cuò)
3、System類中的currentTimeMillis()方法返回一個(gè)long類型的值。對(duì)
4 61、、Date、Calendar以及DateFormat類都位于java、util包中。錯(cuò)分別java、util、Datejava、util、Calendar
java、text、DateFormat
5、String類的方法replace(CharSequencesrt1,CharSequencesrt2)返回一個(gè)新的字符串,它就是通過(guò)用srt2替換此字符串中出現(xiàn)的所有srt1得到的。對(duì)
三、選擇題。
1、先閱讀下面的程序片段:C
Stringstr="abccdefcdh";
String[]arr=str、split("c");
System、out、println(arr、l 62、ength);
程序執(zhí)行后,打印的結(jié)果就是幾?
A、2個(gè)B、3個(gè)C、4個(gè)D、5個(gè)
2、以下都就是Math類的常用方法,其中用于計(jì)算絕對(duì)值的方法就是哪個(gè)?
A、ceil()B、floor()C、abs()D、random。
3、Random對(duì)象能夠生成以下哪種類型的隨機(jī)數(shù)?D
A、intB、stringC、doubleD、A與C
4、Strings="abcdedcba";則s、substring(3,4)返回的字符串就是以下選項(xiàng)中的哪個(gè)?C
A、cdB、deC、dD、e
5、假若indexOf()方法未能找到所指定的子字符串,則返回以下選項(xiàng)中的哪個(gè)?C
A、falseB、0 63、C、-1D、以上答案都不對(duì)
6、要產(chǎn)生[20,999]之間的隨機(jī)整數(shù)可以使用以下哪個(gè)表達(dá)式?B
A.(int)(20+Math、random()*97)
B、20+(int)(Math、random()*980)
C、(int)Math、random()*999
D、20+(int)Math、random()*980
7、以下Math類的方法中,-4、4通過(guò)哪個(gè)方法運(yùn)算后,結(jié)果為-5、0?D(C)
A、round()四舍五入B、min()C、floor()小于參數(shù)最大整數(shù)D、ceil()大于參數(shù)最
小整數(shù)
8、下面的程序段執(zhí)行后,輸出的結(jié)果就是以下哪個(gè)選項(xiàng)?A
String 64、Bufferbuf=newStringBuffer("Beijing2008");
buf、insert(7,"@");
System、out、println(buf、toString());
A、Beijing@2008B、@Beijing2008C、Beijing2008@D、Beijing#2008
9、閱讀下面的程序:A
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti;
floatf=2、3f;
doubled=2、7;
i=((int)Math、ceil(f))*((int)Math、round( 65、d));
System、out、println(i);}}
程序執(zhí)行后,運(yùn)行結(jié)果為以下哪個(gè)選項(xiàng)?
A、9B、5C、6D、6、1
10、先閱讀下面的程序片段:B
Stringstr1=newString("java");
Stringstr2=newString("java");
StringBufferstr3=newStringBuffer("java");
對(duì)于上述定義的變量,以下表達(dá)式的值為true的就是哪個(gè)?
A、str1==str2;B、str1>equals(str2);C、str1==str3;D、以上都不對(duì)四、程序分析題。
閱讀下面的程序,分析代碼就是否能編 66、譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。如果不能編譯通過(guò),請(qǐng)說(shuō)明原因。
代碼一:5
7、0
-8、0
-5
8、1
-6、1
publicclassA{publicstaticvoidmain(String口args){
System
、out、
println(Math
、abs(-5));
System
、out、
println(Math
、ceil(6、6));
System
、out、
println(Math
、floor(-7、8));
System
、out、
println(Math
、round(-4、9));
System
、out、
println(Math
、max(8、1,-8、1));
System
、out、
println(Math
、min(6、1,-6、1));
代碼二:str、length():15
str、charAt(0):d
lastIndexOf(m):"10
substring(2,4):fe
indexOf(g):5
publicclassB{
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西方家庭教育的對(duì)比ppt課件
- 《運(yùn)籌學(xué)教程》第五版運(yùn)籌學(xué)6對(duì)策論矩陣對(duì)策課件
- (部編版)統(tǒng)編版四年級(jí)語(yǔ)文下冊(cè)第2課《鄉(xiāng)下人家》ppt課件
- 全等三角形1--公開(kāi)課一等獎(jiǎng)ppt課件
- 《會(huì)跳舞樹(shù)葉娃娃》課件
- 9兒童詩(shī)兩首_人教版五年級(jí)的語(yǔ)文下冊(cè)課件
- 綠色植物是食物之源(我的課件)0
- 河南專版2022春八年級(jí)語(yǔ)文下冊(cè)第四單元16慶祝奧林匹克運(yùn)動(dòng)復(fù)興25周年習(xí)題課件新人教版
- 全國(guó)xx杯說(shuō)課大賽機(jī)械類一等獎(jiǎng)作品:鉗工車模的制作說(shuō)課ppt課件
- 六年級(jí)下冊(cè)數(shù)學(xué)ppt課件-總復(fù)習(xí)(1)數(shù)的認(rèn)識(shí)-整數(shù)∣北師大版
- 牛頓第二定律優(yōu)秀完整公開(kāi)課ppt課件
- 調(diào)脂與卒中防治課件
- 點(diǎn)到平面的距離課件
- 聚焦新醫(yī)改形勢(shì)下的醫(yī)院發(fā)展戰(zhàn)略
- 四肢血管超聲基礎(chǔ)