java面試中注意的問題01

2021-07-03 10:08:26 字數 1229 閱讀 9805

public

class rigorous

}

答:在這道題中,很多初學者會毫不猶豫寫上「0.7」,但結果卻是「0.699999999993」,這結果出乎意料,想要得到正確的結果可先將浮點型別裝換成整型計算後,再講整形轉換成浮點型:

public

class switchlong

}

public

class inc

void fermin(int i)

}

a.compile time errror(編譯錯誤)

b.output of 2(輸出2)

c.output of 1(輸出1)

d.output of 0(輸出0)

答:可以看出,fermin方法並不會返回值,所以i=0,接下來執行了i=i++語句後,i不會馬上得到1,所以輸出的還是0,選擇d。但是如果把i=i++變成i++,則輸出語句中再次呼叫i時,其值已經變成1。

2、「||」是短路或,在運算時第乙個表示式為true,則不會計算第二個表示式的值;「|」或運算則是兩個都要計算比較;「&&」短路與運算時,第乙個表示式為false時,不用再比較第二個表示式;「&」與則是兩個都要比較。

三、方法

1、已知程式如下:

public

class methodtest01

public

static

inttest(int a)

}}

程式執行的結果為()

a、編譯通過並輸出-1

b、編譯通過並輸出0

c、編譯錯誤,因為缺少返回值

d、編譯錯誤,因為呼叫test()方法錯誤

答:這裡有個坑,很多人想當然地認為應該輸出-1,其實不是這樣的。上面的程式是無法通過編譯的,因為test()方法的返回值型別是int型,但是程式卻有可能沒有返回值。試想一下,如果輸入的引數是1,那麼if裡面的**就不會執行,也就沒有返回值了。所以選c。

2、swtich是否能作用在byte上,是否能作用在long上,是否能作用在string上?

switch(expr1)中,expr1是乙個整數表示式。因此傳遞給 switch 和 case 語句的引數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。

java 列舉使用中注意的問題

通常在需要使用資料集合的時候,列舉便派上了用場。大多數情況下使用列舉的時候無意識的不會去修改裡面的值。那麼列舉中的值到底能不能修改呢?答案是 一旦定義了列舉,最好不要妄圖修改裡面的值,除非修改是必要的。今天遇到的問題就是和列舉相關的,因為之前並不知道枚的物件實際上是單例,導致了非常嚴重的問題 先看下...

紅包秒殺中注意的問題

字段設計使用無符號 更新時使用樂觀鎖 update red goods set remain quantity case case value when remain quantity 扣減數量或者金額 then remain quantity 扣減的數量或者金額 else remain quant...

gcc編譯中注意的問題

例如在原始檔中如何我們的標頭檔案寫成 include head.c 表示在當前路徑查詢標頭檔案,如果標頭檔案的路徑不在當前路徑,我們可以通過一下方式指定標頭檔案的路徑。gcc hello.c i 標頭檔案路徑 o 可執行檔案 在我們的程式中往往都會有許多除錯程式,這些除錯程式在完成 後都是要去掉的,...