JAVA学习 数据类型的概述和分类

来源:互联网 发布:阿基米德软件下载 编辑:程序博客网 时间:2024/05/22 04:35

JAVA 数据类型概述与分类

  • A: 为什么有数据类型
    • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
  • B: Java中数据类型的分类
    • 基本数据类型
    • 引用数据类型
      • 面向对象部分讲解
  • C: 基本数据类型分类(4类8种)
    • 整数型
      • byte 占一个字节 -128到127
      • short 占两个字 -2^15~2^15-1
      • int 占四个字节 -2^31~2^31-1
      • long 占八个字节 -2^63~2^63-1
    • 浮点型
      • float 占四个字节 -3.403E38~3.403E38 单精度
      • double 占八个字节-1.798E308~1.798E308 双精度
    • 字符型
      • char 占两个字节 0~65535
    • 布尔型
      • boolean
        • boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

隐式转换

  • Java中的默认转换规则
    • 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算

强制转换

  • 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同

注意

定义不同数据类型的变量时

  • JAVA 整数默认数据类型时int类型, 浮点数默认数据类型是double类型
  • 在定义long类型时,比如 long a; 赋值时,应a = 1500L; (后面加上L的标识)
  • 在定义float类型时,比如 float b; 赋值时, 应b = 1.5F; (后面加上F的标识)

使用变量问题

  • a: 作用域问题

    • 同一个区域不能使用相同的变量名
  • b: 初始化值问题

    • 局部变量在使用之前必须赋值 !!!!
  • c: 一条语句可以定义几个变量

    • int a,b,c…;

混合运算时

  • 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的

    • byte,short,char – int – long – float – double

    • long: 8个字节

    • float:4个字节
    • IEEE754
    • 4个字节是32个二进制位
    • 1位是符号位
    • 8位是指数位
    • 00000000 11111111
    • 0到255
    • 1到254
    • -126到127
    • 23位是尾数位
    • 每个指数位减去127

    • A:它们底层的存储结构不同。

    • B:float表示的数据范围比long的范围要大
      • long:2^63-1
      • float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
原创粉丝点击