『壹』 java定義float a = 2.0對嗎
在java中,如果想定義基本類型是float型的數據,
就要在初始化的時候在數字後面明確的寫上後綴f
否則將編譯出錯。
應該寫成:
float a = 2.0f;
在java中小數默認處理為double類型的,但是要進行強制轉換才可以把float型的數據轉化成double型的
『貳』 java中的float類型
java中的float類型
.浮點類型
1) 與整數類型一樣,同樣有固定的表述范圍和欄位長度,且不受具體的操作系統的影響,保證了Java的跨平台性
2) Java語言中,浮點類型有兩種表現形式,分別是:
a. 十進制數形式, 如3.14
b. 科學計數法,如,3.14e2, 3.14e-2, -3.14E2
3) Java語言中,默認的浮點數類型是double,聲明float類型的時候,後面必須添加字母f或者F,如3.14F,3.14f
4) Java中兩種浮點類型的表述范圍:
『叄』 問一下java Float 與float的區別
Float 是float的包裝類,
其中包含了一些對於float的方法,float是沒方法的屬性的哦,
Float f1 = new Float(128)創建出來的是對象,保存在堆中
float f2 = 128 這個則是保存在棧中
小f = 大F是可以的
因為在java 5.0之後引入了自動封箱和拆箱
意思就是
小f = 大F執行這句的時候大F會拆箱成為小f,然後在賦值給小f
反過來也是對的
大F=小f這樣小f就封箱成為一個大F在賦值了
『肆』 Java float數據類型
與表示整數的整型不同,浮點型代表的是實數,其實就是包含小數的部分。我們也知道現實世界中是由很多復雜的數據的,所以需要這種表示實數的數據類型的支持。
一、浮點型常量
Java的實常數有兩種表示形式:
1.十進制數形式,由數字和小數點組成,且必須有小數點,如0.123, .123, 123. ,123.0 。
2.科學計數法形式。如:123e3或123E3,其中e或E之前必須有數字,且e或E後面的指數必須為整數。
實常數在機器中佔64位,具有double型的值。對於float型的值,則要在數字後加f或F,如12.3F,它在機器中佔32位,且表示精度較低。
二、浮點型變數
浮點型變數的類型有float和double兩種。
數據類型所佔位數的范圍:
float 32位 3.4e-038~3.4e+038 ;
double 64位 1.7e-308~1.7e+308 ;
雙精度類型double比單精度類型float具有更高的精度,和更大的表示範圍,常常用於科學計算等高精度場合。
三、浮點型變數定義舉例
float f; //指定變數f為float型
double d; //指定變數d為double型
與C、C++不同,Java中沒有無符號型整數,而且明確規定了整型和浮點型數據所佔的內存位元組數,這樣就保證了安全性、魯棒性和平台無關性。
『伍』 java中float與Float有什麼區別
float是基本數據類型,Float是包裝類(封裝類)。封裝類可將接本數據類型封裝後當作對象進行操作,並為各種基本數據類型提供各種轉換功能。
例如Float f = new Float(3.4f);,即可實現將3.4f這個float類型的基本數據類型變數封裝,然後當作對象處理,進行諸如類型轉換(轉換為字元串或者十六進制數);也可通過Float類中的靜態方法或者非靜態方法將字元串轉換為基本數據類型,例如float f = Float.parseFloat("12.3");。
『陸』 java中的Float和float
float是原始數據類型,賦值方法
float b = 111.111f; //數字後面的f代表float類型,否則會報錯
而Float,是對float的封裝,是一個類,所以賦值時需要賦給一個對象
比如:
Float a = new Float(111.111);
但是上面這種方法效率並不高,一般採用下面的方法更好:
Float a = Float.valueOf(111.111f);
『柒』 java中的float類型定義
答案是AD。A 中-1是int型的,能轉為float型。B中1.0默認是double,不能轉為float。C中3.03d也是double型的,不能轉為float。D就不用說啦,肯定是對的。
『捌』 java中float和double的區別...
1、內存結構
float和double的范圍是由指數的位數來決定的。
float的指數位有8位,而double的指數位有11位,分布如下:
float:
1bit(符號位)
8bits(指數位)
23bits(尾數位)
double:
1bit(符號位)
11bits(指數位)
52bits(尾數位)
於是,float的指數范圍為-128~+127,而double的指數范圍為-1024~+1023,並且指數位是按補碼的形式來劃分的。
其中負指數決定了浮點數所能表達的絕對值最小的非零數;而正指數決定了浮點數所能表達的絕對值最大的數,也即決定了浮點數的取值范圍。
float的范圍為-2^128
~
+2^127,也即-3.40E+38
~
+3.40E+38;double的范圍為-2^1024
~
+2^1023,也即-1.79E+308
~
+1.79E+308。
2.
精度
float和double的精度是由尾數的位數來決定的。浮點數在內存中是按科學計數法來存儲的,其整數部分始終是一個隱含著的「1」,由於它是不變的,故不能對精度造成影響。
float:2^23
=
8388608,一共七位,由於最左為1的一位省略了,這意味著最多能表示8位數:
2*8388608
=
16777216
。有8位有效數字,但絕對能保證的為7位,也即
float的精度為7~8位有效數字
double:2^52
=
4503599627370496,一共16位,同理,
double的精度為16~17位
之所以不能用f1==f2來判斷兩個數相等,是因為雖然f1和f2在可能是兩個不同的數字,但是受到浮點數表示精度的限制,有可能會錯誤的判斷兩個數相等!
『玖』 java 中float的取值范圍
java.lang.Float定義的常量
public static final float MAX_VALUE;
public static final float MIN_VALUE;
『拾』 java的float類型聲明
-1是整數,整數賦給float不會有損失。將-1改成-1.0就不行了,就必須加f或F。