java中short、int、long、float、double取值范圍


一、分析基本數據類型的特點,最大值和最小值。
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個數字,多了就會報錯。

  1. int h=1234567890;
  2. long w=1234567890;
  3. short s=12345;

如果此時我在它們每個上面再加上一個數字,就會:

2、其次浮點
float的小數點后6位,double的小數點后16位。

  1. float m=123.45566778465651454545f;
  2. 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不能夠互用,因為他們兩種不同的數據類型;
舉例說明
   ArrayList A_List=new ArrayList();
   int n=40;
   Integer In=new Integer(n);
   A_List.add(n);//error
   A_List.add(In);//ok

總結:平時的積累是多么重要啊,細節,細節,細節,還是細節…………………………

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM