天天看點

java8種資料類型

8種資料類型

資料類型 位數 預設值 取值範圍 示例
byte(位) 8 -2^7 - 2^7-1 byte b = 1
short(短整型) 16 -2^15 - 2^15-1 short s = 5
int(整型) 32 -2^31 - 2^31-1 int i = 10
long(長整型) 64 -2^63 - 2^63-1 long l = 10l
float(單精度浮點型) 32 -2^31 - 2^31-1 float f = 10.0f
double(雙精度浮點型) 64 -2^63 - 2^63-1 double d = 10.0d
char(字元) 16 0 - 2^16-1 char c = ‘c’
boolean(布爾值) 8 false true、false boolean f = false

代碼示例:

package com.ce.test;

class Test {
    static byte b;  
    static short s;  
    static int i;  
    static long l;  
    static float f;  
    static double d;  
    static char c;  
    static boolean bo;   
  
    public static void main(String[] args) {  
        
      System.out.println("byte的大小:"+Byte.SIZE
              +";預設值:"+b
              +";資料範圍:"+Byte.MIN_VALUE+" - "+Byte.MAX_VALUE); 
      
      System.out.println("short的大小:"+Short.SIZE
              +";預設值:"+s
              +";資料範圍:"+Short.MIN_VALUE+" - "+Short.MAX_VALUE);  
      
      System.out.println("int的大小:"+Integer.SIZE
              +";預設值:"+i
              +";資料範圍:"+Integer.MIN_VALUE+" - "+Integer.MAX_VALUE);
      
      System.out.println("long的大小:"+Long.SIZE
              +";預設值:"+l
              +";資料範圍:"+Long.MIN_VALUE+" - "+Long.MAX_VALUE); 
      
      System.out.println("float的大小:"+Float.SIZE
              +";預設值:"+f
              +";資料範圍:"+Float.MIN_VALUE+" - "+Float.MAX_VALUE); 
      
      System.out.println("double的大小:"+Double.SIZE
              +";預設值:"+d
              +";資料範圍:"+Double.MIN_VALUE+" - "+Double.MAX_VALUE);     
      
      System.out.println("char的大小:"+Character.SIZE
              +";預設值:"+c
              +";資料範圍:"+Character.MIN_VALUE+" - "+Character.MAX_VALUE);  
      
      System.out.println("boolean的大小:"+Byte.SIZE
              +";預設值:"+bo
              +";資料範圍:"+Byte.MIN_VALUE+" - "+Byte.MAX_VALUE);     
  
    } 
}
           
java8種資料類型

此處為什麼輸出char的資料範圍不是0 - 65535呢?

Java中的char類型由兩個位元組即十六位來表示,因為是無符号數,是以為2的16次方,數值範圍就為:0 - 2^16-1;
           

類型轉換:

char–> 自動轉換:byte–>short–>int–>long–>float–>double 強制轉換:①會損失精度,産生誤差,小數點以後的數字全部舍棄。②容易超過取值範圍。