Java基本數據類型

概述

在Java中有8種基本數據類型來存儲數值、字符和布爾值。

如圖:

image

那麼,我們就從上往下學。

整數類型

整數類型用來存儲整數數值,即沒有小數部分的數值,可以是正數也可以是負數。而且整數類型在Java中有3種表示形式,分別是十進制、八進制和十六進制。

表示形式 特徵
十進制 平常用的,如:120
八進制 以0開頭,如0123 就是十進制的 83
十六進制 以0X(0x)開頭,如0X25 就是十進制的 37

而整數類型根據它所佔內存大小的不同,又可以分爲以下幾種:

數據類型 內存空間(8位等於1字節) 取值範圍
byte 8位 -128~127
short 16位 -32768~32767
int 32位 -2147483648~2147483647
long 64位 -9223372036854775808~9223372036854775807

其中,給long型值賦值時,後面加上L(l),如:

public static void main(String[] args) {
        byte mybyte = 124 ;
        short myshort = 32564;
        int myint = 45784612;
        long mylong = 45789451L;
        long result = mybyte + myshort + myint + mylong;
        System.out.println("The Result : "+result);
    }

運行結果爲:

The Result : 91606751

浮點類型

浮點類型表示有小數部分的數字,Java中浮點類型分爲單精度浮點類型(float)和雙精度浮點類型(double),如下:

數據類型 內存空間(8位等於1字節) 取值範圍
float 32位 1.4E-45~3.4028235E38
short 64位 4.9E-324~1.7976931348623157E308

其中,在默認情況下小數都會被看做double型,若使用float型小數,則需要在小數後面加上F(f),double型小數加上D(d)(不加也不會錯)。

public static void main(String[] args) {
        float f1 = 13.23f;
        double d1 = 4562.12d;
        double d2 = 45678.1564;
    }

字符類型

字符類型(char)用於存儲單個字符,佔16位(兩個字節)的內存空間,在定義字符類型變量的時候要以單引號表示,如’S’,而”S”則表示字符串。

Java也把字符作爲整數對待,在Unicode編碼中對應位置(0~65536),如:

public static void main(String[] args) {
        char word = 'd',word2 = '@';
        int p = 23045,p2 = 45213;
        System.out.println("d在Unicode表中的位置是:"+(int)word);
        System.out.println("@在Unicode表中的位置是:"+(int)word2);
        System.out.println("在Unicode表中的23045位置表示的是:"+(char)p);
        System.out.println("在Unicode表中的45213位置表示的是:"+(char)p2);
        }

運行結果爲:

d在Unicode表中的位置是:100
@在Unicode表中的位置是:64Unicode表中的23045位置表示的是:婭
在Unicode表中的45213位置表示的是:낝

其中,有個特殊的字符叫做轉義字符,它是一種特殊的字符變量,以“\”開頭,後面跟上一個或者多個字符。如下表:

轉義字符 含義
\ddd 1~3位八進制數據類型所表示的字符,如\456
\dxxxx 4位十六進制所表示的字符,如\0052
\’ 單引號字符
\\ 反斜槓字符
\t 垂直製表符,將光標移到下一個製表符的位置
\r 回車
\n 換行
\b 退格
\f 換頁

如:

public static void main(String[] args) {
        char c1 = '\\';
        char char1 = '\u2605';
        System.out.println(c1);
        System.out.println(char1);
        }

運行結果爲:

\
9733

布爾類型

布爾類型又稱邏輯類型,通過關鍵字boolean來定義布爾類型變量,只有true和false兩個值,分別代表布爾邏輯中的“真”和“假”。

如:

public static void main(String[] args) {
        boolean b1 = false;
        boolean b = true;
        }

在學習完基礎數據類型之後,我們來補充一個知識點:數據類型轉換

數據類型轉換

數據類型轉換是將一個類型更改爲另外一種類型的過程。如:將String的”456”轉換爲int的456,而且任意類型的數據都可以轉換爲String類型。

其次,如果低精度數據類型向高精度數據類型轉換,則永遠不會有溢出,並且總是成功的;而把高精度數據類型向低精度數據類型轉換必然會有信息丟失,有可能會失敗。

它有兩種方式:

  • 數據類型轉換
    • 隱式轉換
    • 顯示轉換

隱式轉換

從高級類型到低級類型轉換的過程叫做隱式轉換,按照從高到低的順序排的話如下:

byte < short < int < long < float < double

其中,涉及到的不同類型的計算結果的類型:如下表:

操作數1的數據類型 操作數2的數據類型 轉換後的數據類型
byte 、 short 、char int int
byte 、 short 、char 、int long long
byte 、 short 、char 、int 、long float float
byte 、 short 、char 、int 、long 、float double double
public static void main(String[] args) {
        byte mybyte = 127;
        int myint = 150;
        float myfloat = 452.12f;
        char mychar = 10;
        double mydouble = 45.46546d;
        System.out.println("byte和float類型數據進行運算的結果爲:"+(mybyte + myfloat));
        System.out.println("byte和int類型數據進行運算的結果爲:"+(mybyte + myint));
        System.out.println("byte和char類型數據進行運算的結果爲:"+(mybyte + mychar));
        System.out.println("double和char類型數據進行運算的結果爲:"+(mydouble + mychar));
    }

運行結果爲:

bytefloat類型數據進行運算的結果爲:579.12
byteint類型數據進行運算的結果爲:277
bytechar類型數據進行運算的結果爲:137
doublechar類型數據進行運算的結果爲:55.46546

顯示轉換

就是把高精度轉換成低精度的過程,需要使用顯示類型轉換運算(又叫做強制類型轉換)。

如:(類型名)要轉換的值

public static void main(String[] args) {
        int myint = (int)150.56;
        long mylong = (long)452.12f;
        int b = (int)'d';
        System.out.println("myint:"+myint);
        System.out.println("mylong:"+mylong);
        System.out.println("b:"+b);
    }

運行結果爲:

myint:150
mylong:452
b:100
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章