数据为什么要分类

  • 不同的数据类型占据的内存空间不同
  • 不同的数据类型存储的数值类型不同
  • 不同的数据类型表示的数值范围不同
  • 不同的数据类型参与的运算类型不同

    Java数据类型-如何分类

  • 基本数据类型

    • byte 0,1
    • short 100
    • int 1000
    • float 10.2F
    • double 10.2
    • long 10L
    • char ‘a’
    • boolean true falue
  • 引用数据类型
    • 数组
    • 类(java.lang.Object)
    • 接口

Java数据类型-包装类

  • char -> Character 最小值 -128 ~ 127 最大值
  • byte -> Byte 最小值 -128 ~ 127 最大值
  • short -> Short 最小值 -128 ~ 127 最大值
  • int -> Integer 最小值 -128 ~ 127 最大值
  • float -> Float 最小值 -128 ~ 127 最大值
  • double -> Double 最小值 -128 ~ 127 最大值
  • boolean -> Boolean 最小值 -128 ~ 127 最大值

    数据类型数值范围

类型转换注意事项

  • boolean不能与其他七种基本数据类型进行转换
  • 强制转换类型 数据可能会损失精度(特别是从高的数据类型转换成低的数据类型)
  • 强制类型转换 数据可能会溢出
  • byte,short,char三种类型的遍历咋进行运算的时候,首先会转换成int类型,再参与运算

    类型转换的常量优化机制

  1. 如果byte,short,char类型的遍历在赋值的时候,赋值的是一个常量,例如100,那么我们的jvm字段将常量赋值转换为对应的数据类型
  2. 如果运算符操作的是字面量常量,先进行运算付操作,在将结果赋值后进行编译操作