Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx

Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx

ID:61506908

大?。?6.77 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2021-02-08

Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx_第1頁(yè)
Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx_第2頁(yè)
Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx_第3頁(yè)
Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx_第4頁(yè)
Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx_第5頁(yè)
資源描述:

《Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、Java初學(xué)者的30個(gè)常見(jiàn)問(wèn)題   本文回答了30個(gè)Java入門(mén)級(jí)初學(xué)者的常見(jiàn)問(wèn)題。我可以用%除以一個(gè)小數(shù)嗎?a+=b和a=a+b的效果有區(qū)別嗎?聲明一個(gè)數(shù)組為什么需要花費(fèi)大量時(shí)間?為什么Java庫(kù)不用隨機(jī)pivot方式的快速排序?  1.2基本數(shù)據(jù)類型  Q.為什么-0/3結(jié)果是0,而-0.0/3.0結(jié)果是-0.0?(注意后邊的結(jié)果0帶負(fù)號(hào))  A.在Java里,整數(shù)是用補(bǔ)碼表示的。在補(bǔ)碼中0只有一種表示方法。另一方面,浮點(diǎn)數(shù)則是用IEEE標(biāo)準(zhǔn)表示的,對(duì)于0有兩種表示方法,0和-0。  Q.我可以

2、用%除以一個(gè)小數(shù)嗎?  A.當(dāng)然可以。比如,如果angle是一個(gè)非負(fù)數(shù),那么angle%(2*Math.PI)就會(huì)把a(bǔ)ngle轉(zhuǎn)換到0到2π之間。  Q.當(dāng)ab都是基本類型變量時(shí),a+=b和a=a+b的效果有區(qū)別嗎?  A.當(dāng)a和b的類型不同時(shí),那兩條語(yǔ)句的效果就可能有區(qū)別。a+=b等同于a=(int)(a+b),這種情況下可以是a是int型,b是float型。但是同等情況下a=a+b就會(huì)編譯報(bào)錯(cuò)。  1.3條件語(yǔ)句和循環(huán)語(yǔ)句  Q.為什么判斷字符串相等不能使用==?  A.這反映了基礎(chǔ)類型(int

3、,double,boolean)和引用類型(String)的區(qū)別?! .有沒(méi)有在什么情況下,一條語(yǔ)句塊的花括號(hào)不能省略的?  A.在下面的例子中,第一段代碼是合法的,第二段代碼會(huì)引發(fā)編譯錯(cuò)誤。從技術(shù)角度說(shuō),那一條語(yǔ)句是一個(gè)變量聲明,而不是語(yǔ)句,所以會(huì)報(bào)錯(cuò)?! ?.//legal  2.for(inti=0;i<=N;i++){  3.intx=5;  4.}  5.  6.//illegal  7.for(inti=0;i<=N;i++)  8.intx=5;  Q.在下面的兩段代碼里,有沒(méi)有情況

4、,它們的效果不一樣?  1.for(;){  2.  3.}  4.  5.;  6.while(){  7.  8.  9.}  A.有的。如果在循環(huán)塊里使用continue語(yǔ)句。在for的代碼里,計(jì)數(shù)器會(huì)加一;而在while的代碼里,因?yàn)楸籧ontinue略過(guò)了,計(jì)數(shù)器不加一?! ?.4數(shù)組  

5、Q.某些Java開(kāi)發(fā)人員使用inta[]而不是int[]a去聲明一個(gè)數(shù)組。這兩者有什么區(qū)別?  A.在Java中這兩種用法都是合法的,他們的作用都是一樣的。前者是在C中的定義數(shù)組的方法。后者是JAVA推薦的方法,因?yàn)樗膶?xiě)法int[]更能表明這是一個(gè)int的數(shù)組?! .為什么數(shù)組下標(biāo)從0開(kāi)始而不是從1開(kāi)始?  A.這種傳統(tǒng)起源于機(jī)器語(yǔ)言的編程方法。在機(jī)器語(yǔ)言中,數(shù)組下標(biāo)被用來(lái)計(jì)算元素位置與第一個(gè)元素之間的偏移量。如果從1開(kāi)始的話,計(jì)算偏移時(shí)還需要做一次減法運(yùn)算,那是種浪費(fèi)。  Q.如果我用負(fù)數(shù)作為

6、數(shù)組下標(biāo)會(huì)發(fā)生什么事?  A.下標(biāo)小于0或者大于等于數(shù)組長(zhǎng)度,JAVA運(yùn)行時(shí)會(huì)拋出ArrayIndexOutOfBoundsException異常,并且中止程序運(yùn)行?! .使用數(shù)組時(shí)還有其他需要注意的陷阱嗎?  A.需要記住,JAVA在你創(chuàng)建一個(gè)數(shù)組時(shí)會(huì)去初始化它,所以聲明一個(gè)數(shù)組需要O(N)的時(shí)間?! .既然a[]是一個(gè)數(shù)組,為什么System.out.println(a)會(huì)打印出一個(gè)16進(jìn)制的數(shù),就像@f62373這樣,而不是打印出數(shù)組的元素?  A.好問(wèn)題。這條語(yǔ)句打印出的是數(shù)組在內(nèi)存中的

7、地址,不幸的是,在絕大多數(shù)情況下,這不是你需要的?! ?.5輸入輸出語(yǔ)句  Q.我可以從標(biāo)準(zhǔn)input中重新讀一次數(shù)據(jù)嗎?  A.不可以,你只能讀一次?! .怎樣輸入end-of-file(eof)符號(hào)?  A.操作系統(tǒng)自動(dòng)包括它了?! .使用printf()時(shí)還有哪些用法?  A.對(duì)于整數(shù)來(lái)說(shuō),使用o輸出八進(jìn)制,使用x輸出十六進(jìn)制。對(duì)于浮點(diǎn)數(shù)來(lái)說(shuō),使用e或者g輸出科學(xué)計(jì)數(shù)法形式。  Q.行結(jié)束的符號(hào)是什么?  A.不同的文件系統(tǒng)使用了不同的符號(hào)。在Unix系統(tǒng)上,新行的符號(hào)是'';在Win

8、dows系統(tǒng)上,每一行都有兩個(gè)字符組成的字符串終結(jié)"r";在Macs系統(tǒng)上,終結(jié)符號(hào)是"r"。如果要打印行號(hào),可以使用System.out.println(),或者使用下面的語(yǔ)句得到當(dāng)前操作系統(tǒng)下的行結(jié)束符:  1.StringNEWLINE=System.getProperty("line.separator");  Q.下面兩種寫(xiě)法,哪一種更有效率?  1.Strings;  2.while(!StdIn.isEmpty()){while(!StdIn

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。