java int short long float double精度最大值整理
阿新 • • 發佈:2019-02-15
對於java的資料型別,既熟悉又陌生,於是整理了這篇文件。
最近的面試讓我開始注意細節,細節真的很重要。
一、分析基本資料型別的特點,最大值和最小值。
1、
基本型別:int 二進位制位數:32
包裝類:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)
2、
基本型別:short 二進位制位數:16
包裝類:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)
3、
基本型別:long 二進位制位數:64
包裝類:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
4、
基本型別:float 二進位制位數:32
包裝類:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)
5、
基本型別:double 二進位制位數:64
包裝類:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)
二、經實踐證明,在程式碼中,能夠寫的位數。
1、首先是整型
int和long只能寫10個數字,short只能寫5個數字,多了就會報錯。
2、其次浮點
float的小數點後6位,double的小數點後16位。
三、小插曲 -----int和Integer的區別
1.從定義上來看 int 是基本型別,直接存數值(類似的還有float、double、String、char) Integer是物件,用一個引用指向這個物件(類似的有Float、Double、String) 2.從複雜度來看,Java 中的資料型別分為基本資料型別和複雜資料型別 int 是前者;Integer 是後者(也就是一個類) 3.初始化的方式不同 int i =1; Integer i= new Integer(1);//integer 是一個類 int 是基本資料型別(面向過程留下的痕跡,不過是對java的有益補充);Integer 是一個類,是int的擴充套件,定義了很多的轉換方法 注意:類似的還有:float Float;double Double;String等,其中String較為特殊,基本型別和複雜類似關鍵字相同。 例如,當需要往ArrayList,HashMap中放東西時,像int,double這種內建型別是放不進去的,因為容器都是裝 object的,這是就需要這些內建型別的外覆類了。Java中每種內建型別都有相應的外覆類。 Java中int和Integer關係是比較微妙的。關係如下:
最近的面試讓我開始注意細節,細節真的很重要。
一、分析基本資料型別的特點,最大值和最小值。
1、
基本型別:int 二進位制位數:32
包裝類:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)
2、
基本型別:short 二進位制位數:16
包裝類:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)
3、
基本型別:long 二進位制位數:64
包裝類:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
4、
基本型別:float 二進位制位數:32
包裝類:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)
5、
基本型別:double 二進位制位數:64
包裝類:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)
二、經實踐證明,在程式碼中,能夠寫的位數。
1、首先是整型
int和long只能寫10個數字,short只能寫5個數字,多了就會報錯。
-
int h=1234567890;
- long w=1234567890;
- short s=12345;
2、其次浮點
float的小數點後6位,double的小數點後16位。
-
float m=123.45566778465651454545f;
-
double n=3.1234567890123456789;
三、小插曲 -----int和Integer的區別
1.從定義上來看 int 是基本型別,直接存數值(類似的還有float、double、String、char) Integer是物件,用一個引用指向這個物件(類似的有Float、Double、String) 2.從複雜度來看,Java 中的資料型別分為基本資料型別和複雜資料型別 int 是前者;Integer 是後者(也就是一個類) 3.初始化的方式不同 int i =1; Integer i= new Integer(1);//integer 是一個類 int 是基本資料型別(面向過程留下的痕跡,不過是對java的有益補充);Integer 是一個類,是int的擴充套件,定義了很多的轉換方法 注意:類似的還有:float Float;double Double;String等,其中String較為特殊,基本型別和複雜類似關鍵字相同。 例如,當需要往ArrayList,HashMap中放東西時,像int,double這種內建型別是放不進去的,因為容器都是裝 object的,這是就需要這些內建型別的外覆類了。Java中每種內建型別都有相應的外覆類。 Java中int和Integer關係是比較微妙的。關係如下:
- int是基本的資料型別;
- Integer是int的封裝類;
- int和Integer都可以表示某一個數值;
- int和Integer不能夠互用,因為他們兩種不同的資料型別;