美文网首页
基本数据类型(Primitive Data Types)

基本数据类型(Primitive Data Types)

作者: 王小小叶 | 来源:发表于2020-02-16 22:09 被阅读0次

    Java程序语言是静态类型的,即所有的变量必须在使用之前就声明,包括声明变量的类型和名称,如:

            int gear = 1;

    这样就声明了一个名为gear,数据类型为int,初始值为1的变量。

    一、基本数据类型

    基本数据类型由Java语言预定义,由保留关键字命名。Java语言支持的8种基本数据类型如下:

    byte:有符号的8位整型,最小值为-128,最大值为127。在大的数组中,使用byte类型可以节省内存。

    short:有符号的16位整型,最小值为-32768,最大值为32767。在大的数组中,使用short类型也可以节省内存空间。

    int:有符号的32位整型,最小值为-2^31,最大值为2^31-1。若要使用无符号的int数据类型时,可以使用Integer类。

    long:有符号的64位整型,最小值-2^63,最大值为2^63-1。

    float:32位单精度浮点型。类似于byte和short,在大的浮点型数组中,使用float(而不是double)也可以节省内存空间。float不能用于精确数据,如金额,这种情况下可以使用java.math.BigDecimal类。

    double:64位双精度浮点型。定义小数时,double是默认的数据类型。double也不能用于精确数据。

    除了8种基本数据类型,Java程序语言还通过java.lang.String类对字符串进行支持。用双引号将字符串括起来会自动创建一个新的String对象,例如:String s = "this is a string";。String对象是不可变的,即对象一旦创建,它的值不能再被改变。

    二、默认值

    在声明一个字段(域)时,若没有初始化,在编译时,编译器会给它赋一个默认值。默认值一般是0或者null,具体的默认值根据数据类型不同而定。虽然没有给初始值的字段会有默认值,但这是一种不好的编程风格。

    不同数据类型的默认值如下:

    局部变量略有不同,编译器不会给没有初始化的局部变量赋默认值,因此要确保在使用前进行赋值,否则编译时会报错。

    三、字面量

    初始化一个基本数据类型的变量时不需要使用new关键字,它不是由class来创建对象的。可以将一个字面量直接赋给基本数据类型的变量,如:

    boolean result = true;

    char capitalC = 'C';

    byte b = 100;

    short s = 10000;

    int i = 100000;

    1. 整型字面量

    当一个整型的字面量以L或l结尾是,它是long型的,推荐使用L(大写),因为小写的l和数字1不容易区分。

    整型的字面量有三种表达形式:

    十进制:包括数字0到9

    十六进制:包括数字0到9和字母A到F,前缀为0x

    二进制:包括数字0和1,前缀为0b

    例:表示26

    //十进制(in decimal)

    int decVal = 26;

    //十六进制(in hexadecimal)

    int hexVal = 0x1a;

    //二进制(in binary)

    int binVal = 0b11010;

    2. 浮点型字面量

    浮点型字面量以F或者f结尾表示float类型,以D或者d结尾则是double型。double是默认类型,因此D或者d也可以省略。float和double还可以用E或者e表达式,用于科学计数。如下:

    double d1 = 123.4;

    //d2和d1值相等,d2用科学计数法

    double d2 = 1.234e2;

    float f1 = 123.4f;

    3. 字符和字符串字面量

    字符字面量用‘’,即单引号;字符串字面量使用“”,即双引号。

    4. 类字面量

    由类名加“.class”,是指代表自己的类对象。

    5. 下划线在数值字面量中的应用(Java7及以后)

    在数字之间可以插入下划线作为分隔符,增加数值的可读性。当数值由多位数字组成时可以使用。下划线只能插在数字之间,但可以连续插入多个。例如:

    long creditCarNumber = 1234_5678_9012_3456L;

    long socialSecurityNumber = 999_99_9999L;

    float pi =  3.14_15F;

    long hexBytes = 0xFF_EC_DE_5E;

    long hexWords = 0xCAFE_BABE;

    long maxLong = 0x7fff_ffff_ffff_ffffL;

    byte nybbles = 0b0010_0101;

    long bytes = 0b11010010_01101001_10010100_10010010;

    int x1 = 5_2;

    int x3 = 5_______2;

    int x6 = 0x5_2;

    Reference:Primitive Data Types (The Java™ Tutorials > Learning the Java Language > Language Basics)

    相关文章

      网友评论

          本文标题:基本数据类型(Primitive Data Types)

          本文链接:https://www.haomeiwen.com/subject/ihumfhtx.html