Java數據類型

  我之因此寫這篇博客,是由於我忽然意識到基礎的重要性,特別對於那些基礎的東西,每每可能成爲你之後面試的絆腳石,因此如今咱們就必須清除這些障礙,下面我簡單的總結一下Java的數據類型,你們看了就當作複習吧!linux

  Java語言支持兩種類型:基本類型(Primitive Type)和引用類型(Reference Type),下面用一張圖片略略展現一下:面試

  整數類型:windows

  這裏我把byte、short、int、long、char,我之因此把char概括進整數類型,由於它在內存中的存儲方式也是跟其餘整數類型的同樣,只不過是在數值在拿出來的時候轉化成特定的字符而已。spa

  下面咱們看看這些類型的表示範圍:code

類型 內存佔用空間 範圍
byte 1個字節 -2^7 - 2^7-1
short 2個字節 -2^15 - 2^15-1
int 4個字節 -2^31 - 2^31-1
long 8個字節 -2^63 - 2^63-1
char 2個字節 0 - 2^16

  從上面咱們能夠看出幾點:blog

  1.Java數據類型的範圍是規定的,不管在windows仍是linux,都同樣,這樣就保證了跨平臺性。圖片

  2.Java數據沒有像C語言那樣有signed和unsigned之分。內存

  3.char類型沒有負數的概念。博客

  Java中整數的表達形式有兩種必須掌握的,就是八進制和十六進制,八進制以0開頭,十六進制以0x或者0X開頭,其中10-15分別用a-f來(不區分大小寫)表示。it

 

 1 public class Scale {
 2 
 3     public static void main(String[] args) {
 4         
 5         /**
 6          * 八進制數
 7          * @author Guo
 8          */
 9         int a = 023;
10         System.out.println(a);
11         
12         /**
13          * 十六進制
14          * @author Guo
15          */
16         int b = 0x32ac;
17         System.out.println(b);
18     }
19 } 

  Java對於超出範圍的數對怎麼對待呢?

 1 public class OutOfBound {
 2 
 3     public static void main(String[] args) {
 4         
 5         /**
 6          * 這裏輸出127
 7          * @author Guo
 8          */
 9         byte a = 127;
10         System.out.println(a);
11     
12         /**
13          * 這裏輸出了-128
14          * @author Guo
15          */
16         byte b = (byte) 128;
17         System.out.println(b);
18     }
19 }

  Java對於超出範圍的數,依然是按照補碼的規則就是計算,就好像在一個範圍內循環的感受。

  

  浮點類型:

  Java的浮點類型有兩種:float和double,浮點類型有固定的表示範圍和字段長度,字段的長度也是與平臺無關

數據類型

內存佔用空間

表示範圍

float

4個字節

-3.403E38-3.403E38

double

8個字節

-1.798E308-1.798E308

  對於float類數值,第1位是符號位,接下來8位表示指數,再接下來的23位表示尾數;

  對於double型數值,第1位是符號位,接下來11位表示指數,再接下來的52位表示尾數。

 

  布爾類型:

  布爾型只有一個boolean類型,用於表示邏輯上的真假,在Java中,boolean數值只有true或者false

 

  空類型(null Type):

就是null值的類型,這種類型沒有名稱,由於null類型沒有名稱,因此不可能聲明一個null類型的變量或者轉換到null類型,空引用(null)是null類型變量惟一的值,空引用能夠轉成任何引用類型。

相關文章
相關標籤/搜索