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中方法重载和方法重写的区别 下一篇:无