Java數據類型 - 原始和二進位文字

Java是一種強類型語言,這意味著在使用它之前必須首先聲明所有變數。在java中聲明變數包括帶有可選值賦值的類型和名稱。如果未分配任何值,則變數保持默認值。對於基本類型,有不同的默認值,但對於Object數據類型,它始終為null

1. Java原始數據類型

Java編程語言包含八種原始數據類型。四種原始數據類型用於整數值 - byteshortintlong。兩種原始數據類型用於浮點型十進位值 - floatdouble。表示一個是字元的char類型,表示一個是條件的boolean類型。Java編程語言還附帶了所有這些原始數據類型的Wrapper類。

下表顯示了所有這些原始數據類型,包括大小,範圍,默認值和分配它們的不同方式。

Java數據類型

下麵是一個簡單的java程式,它顯示了聲明原始數據類型的一些方法 - 仔細閱讀char轉換,以及通過顯式將int轉換為byte時會發生什麼。

public class DataTypes {

    public static void main(String[] args) {

        char c = 'A';
        System.out.println(c); //列印 A

        char c1 = '\u0041';
        System.out.println(c1); //列印 A

        char c2 = 0;
        System.out.println("Default Value:"+c2+":"); // 列印默認值


        char c3 = 65;
        System.out.println(c3); //列印 A

        char c4 = '\t';
        System.out.println("Tab Start:"+c4+":End"); //列印 Tab

        byte b = 10;
        System.out.println(b); //列印 10

        byte b1 = (byte) 200;
        System.out.println(b1); // 列印 -56
        //<0...>_11001000 (int),轉換為 11001000 (byte) by stripping leading 24 bits
        // since left most bit is 1, we need to find the value
        // Ones complement 11001000 -1 = 11000111
        //invert digits 00111000 i.e 56, hence printing -56

        b1 = (byte) 0b11001000;
        System.out.println(b1); //列印 -56

        byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000
        // 由於前導位為0,因此無需確定任何值

        System.out.println(b2); //列印 64

        short s = 32;
        short s1 = 'A'; //隱式將char轉換為 short
        System.out.println(s1); //列印 65

        int i = 'A';
        System.out.println(i); //列印 65

        long l = 3200L;
        long l1 = 3200;

        float f = 12.34f;

        // 示例
        byte x, y = 1, z = 2;
        x = (byte) (y + z);
    }

}

在數字文字中使用下劃線

從Java 7開始,可以在數字文字中使用下劃線,例如 - long ccNum = 1234_5678_9101_1121L;

2. 二進位文字

從Java 7開始,整數類型(byteshortintlong)也可以使用二進位數系統表示。但需要在數字前加0b0B。如下示例所示 -

// An 8-bit 'byte' value:
byte aByte = (byte)0b00100001;

// A 16-bit 'short' value:
short aShort = (short)0b1010000101000101;

上一篇: java中方法重載和方法重寫的區別 下一篇:無