去年面試,筆試時有一道題是:
問題:float f=3.4;是否正確?
我當時真是想都沒想就填了個正確。結果就是基礎都不過關了。(我還深深地記得上大學時,教我的java老師特意在課上說過這個問題,忘得一乾二淨)
對於我們碼農來說,真的是萬事都是增刪改查,都習以為常了,而java中的一些小細節可能我們都把他們忘記了,今天我就幫大家拾起java中冰山一角的float吧。
float:浮點型數據類型,用於存儲單精度浮點數或雙精度浮點數
在編譯器中直接寫 float a= 3.4;
不正確寫法
直接就報錯了,(我想說這個問題真的很明顯,可是吧真的給忽略了)
說到這裡,大家也知道答案了,肯定是不正確了。
原因:編譯器可以自動向上轉型,如int 轉成 long 系統自動轉換沒有問題,因為後者精度更高
double 轉成 float 就不能自動做了,所以後面的加上個 f;也就是說必須寫成float f=(float)3.4 或float f = 3.4f
正確寫法
記住這一點:在java裡面,沒小數點的默認是int,有小數點的默認是 double