Java初學者的30個常見問題.docx

Java初學者的30個常見問題.docx

ID:61506908

大?。?6.77 KB

頁數(shù):11頁

時間:2021-02-08

Java初學者的30個常見問題.docx_第1頁
Java初學者的30個常見問題.docx_第2頁
Java初學者的30個常見問題.docx_第3頁
Java初學者的30個常見問題.docx_第4頁
Java初學者的30個常見問題.docx_第5頁
資源描述:

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

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

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

3、,double,boolean)和引用類型(String)的區(qū)別?! .有沒有在什么情況下,一條語句塊的花括號不能省略的?  A.在下面的例子中,第一段代碼是合法的,第二段代碼會引發(fā)編譯錯誤。從技術(shù)角度說,那一條語句是一個變量聲明,而不是語句,所以會報錯?! ?.//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.在下面的兩段代碼里,有沒有情況

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

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

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

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

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

當前文檔最多預覽五頁,下載文檔查看全文

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

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