美文网首页
Java数据类型

Java数据类型

作者: Jason_M_Ho | 来源:发表于2017-11-30 11:39 被阅读0次

    首先明确几个概念:变量、常量。

    • 变量即在程序运行过程中它的值是允许改变的量。

      • 是计算机语言中能储存计算结果或能表示值抽象概念,可以通过变量名来访问获取变量名所指向在内存中存储的各种数据。变量的实质是表示了计算机的一块内存空间。
      • 变量名的名是有规则的,需要使用有代表含义的单词,能够望文知义,但不能使用关键字,例如:public,int,class 等。
      • 变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始,后面每个单词字母大写,或者可以跟数字。
      • 使用变量的步骤:
        • 1、声明变量,根据数据的类型在内存申请空间。
        • 2、赋值。(将数据存储到变量名指向的内存空间)
        • 3、使用。
    • 常量即在程序运行过程中它的值是不允许改变的量。

      • 整型值(如:18),浮点值(如:3.4f,5.8),布尔值(如:true,false),null值,字符(如:'m'),字符串(如:"hello")
      • 自定义常量的关键字final, 例如:final double PI = 3.14PI的值在后面的语句中不能被修改

    八种基本数据类型

    Java语言提供了八种基本类型。其中六种数字类型(四个整数型,两个浮点型),一种字符类型,一种布尔型。

    1. byte
      1个字节的8位的有符号整数,最小值是 -128(-2^7),最大值是 127(2^7-1),默认值是 0;
      例:byte a = 100byte b = -50
    2. short
      2个字节的16位的有符号整数,最小值是 -32768(-2^15),最大值是 32767(2^15 - 1)),默认值是 0;
      例:short a = 1000short b = -20000
    3. int
      4个字节的32位的有符号整数,最小值是 -2,147,483,648(-2^31),最大值是 2,147,483,647(2^31 - 1),默认值是 0;
      例:int a = 100000int b = -200000
    4. long
      8个字节的64位的有符号整数,最小值是 -9,223,372,036,854,775,808(-2^63),最大值是 9,223,372,036,854,775,807(2^63 -1),默认值是 0;
      例:long a = 100000Llong b = -200000L
    5. float
      4个字节的32位的单精度浮点数,最小值是 -3.4E38,最大值是 3.4E38,默认值是 0.0f;
      例:float f1 = 234.5f
    6. double
      8个字节的64位的双精度浮点数,最小值是 -1.7E308,最大值是 1.7E308 ,默认值是 0.0d;
      例:double d1 = 123.4。(java默认浮点数是double型的,0.0d的d可以省略不写)
    7. char
      2字节16位的 Unicode 字符,最小值是 \u0000(即为0),最大值是 \uffff(即为65,535),char 数据类型可以储存任何字符;
      例:char letter = 'a'
    8. boolean
      1字节8位的布尔值;只有两个取值:true 和 false;这种类型只作为一种标志来记录 true/false 情况;
      例:boolean flag = true

    注意:

    • 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。
    • 基本数据类型没有默认的初始值,使用前必需先赋值。

    基本数据类型间的转换

    数据存储的位数越多,类型的级别越高
    低 ------------------------------------------> 高
    byte--->short--->int--->long--->float--->double
    char--->int
    不能对boolean类型进行类型转换

    自动类型转换

    低级别的在算术运算或是赋值运算时会自动转成高级别的类型
    例:
    5 + 6.5f 结果是浮点型
    int a = 10;
    double b = a; a自动转换成double型

    强制类型转换

    高级别转成低级别类型时,使用一对小括号进行强制类型转换
    例:
    double a = 365.85;
    int b = (int)a; a强制转换成int型
    强制类型转换的时候,可能会丢失数据,a强制转成int类型的时候,浮点后面的数据就没了
    int m = 128;
    byte n = (byte)m; m强制转换成byte型,最高位数据将溢出丢失,因为byte型数据最大只能是127

    引用数据类型

    类、接口、数组、枚举...

    • 引用数据类型在被创建时,首先在栈上给其引用分配一块内存,存储的是指向对象的地址,而对象的具体信息都存储在堆内存上。引用数据类型的本质是一个指针。(java中没有指针,这里借用指针的说法,方便理解)
    • 引用数据类型默认的初始值是 null , 使用时注意初始化对象,不然直接使用会报空指针异常。

    相关文章

      网友评论

          本文标题:Java数据类型

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