数据类型的分类

  按照数据的复杂程度可分为引用数据类型基本数据类型

  引用数据类型的数据是对象(多值数据/复杂数据),引用数据类型的数据的名字叫做引用/引用名;
  基本数据类型的数据是常量值(单值数据),基本数据类型的数据的名字叫变量/变量名;

基本数据类型按照数据性质可分为以下类型

  整数类型:没有小数点的数字;
  浮点类型:有小数点的数字;
  字符类型:所有符号(必须写在单引号中,有且只有一个字符);
  布尔类型:只有两种结果且结果相反(true、false);

基本数据类型按照空间大小可分为以下八种类型

  byte(字节):占1个字节,java描述数据的基本单位;
  short(短整型):占2个字节;
  int(整型):占4个字节;整数常量默认是int;
  long(长整型):占8个字节;long常量后面加l/L;
  float(单精度):占4个字节;float常量后面加f/F,有效位6-8位;
  double(双精度):占8个字节;浮点常量默认是double类型;
  char(字符型):占2个字节;(必须写在单引号中,有且只有一个字符,char与int间可根据编码集相互转换);
  boolean(布尔型):占1个字节,只有两个取值:true/false;

数据类型精度表:

  byte < short < int(char) <long < float < double

自动类型转换与强制类型转换

  需要类型转换的原因:变量所赋值的类型必须和变量所定义类型保持一致;

  不同数据类型间可以相互转换,转换方式分为自动类型转换与强制类型转换两种;

自动类型转换的两种情况

  情况一:把低精度数据赋值给高精度数据类型的变量;
  情况二:给byte、short、char类型的变量赋int常量值(编译器会自动判断,装的下就装(在范围内),装不下(不在范围内)就报错);

强制类型转换

高精度向低精度进行数据类型转换时,使用强制类型转换;
语法格式:
  低精度变量=(低精度变量的类型)高精度数据;

如:

long numberLong=10L;
int numberInt=(int)numberLong;

注意:强制类型转换可能会出现精度丢失的情况;