① java中float與Float有什麼區別
float是基本數據類型,Float是包裝類(封裝類)。封裝類可將接本數據類型封裝後當作對象進行操作,並為各種基本數據類型提供各種轉換功能。
例如Float f = new Float(3.4f);,即可實現將3.4f這個float類型的基本數據類型變數封裝,然後當作對象處理,進行諸如類型轉換(轉換為字元串或者十六進制數);也可通過Float類中的靜態方法或者非靜態方法將字元串轉換為基本數據類型,例如float f = Float.parseFloat("12.3");。
② java中如何初始定義一個數組是float型的
float foo[]=new float[n];n為灶敏該數組慧旅的長隱碧枝度。一維數組的初始化?,例:float foo={1,2,3,4,5};
③ java中float和double的區別
float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
double表示雙精度浮點數在機內佔8個位元組,用64位二進制描述。
浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。
指數符佔1位二進制,表示指數的正負。
尾數表示浮點數有效數字,0.xxxxxxx,但不存開頭的0和點
指數存指數的有效數字。
指數佔多少位,尾數佔多少位,由計算機系統決定。
可能是數符加尾數佔24位,指數符加指數佔8位 -- float.
數符加尾數佔48位,指數符加指數佔16位 -- double.
知道了這四部分的佔位,按二進制估計大小范圍,再換算為十進制,就是浮點數的數值范圍。
對編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,java語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)。