数据类型

基本数据类型

整数类型

  • byte(占1字节): -128~127
  • short(占2字节)
  • int(占4字节)
  • long(占8字节): 定义该类型需要在后面加上 L(如:long var = 1234L;)

浮点类型

  • float(占4字节): 定义该类型需要在后面加上 F(如: float var = 12.34F)
  • double(占8字节)
    浮点类型是不精确的,存在舍入误差的情况。因此,不要用浮点类型的数作比较
    银行业务这类高精准的需求,使用BigDecimal类

字符类型

  • char(占2字节): 只能定义一个字符
    注意:string不是基本数据类型,它是一个类,属于引用数据类型

要点

不同的数据类型进行运算,需要先转化为同一数据类型
数据类型的优先级(从低到高):byte-short-char-int-long-float-double

类型转换时,要考虑到内存溢出和精度的问题

//内存溢出问题
int var1 = 128;
byte var2 = (byte)var1;
System.out.println(var2); //结果:-128
//按道理var2应该是128,但实际上byte类型范围是-128~127,所以内存溢出,结果是-128
//精度问题
float var3 = 12.34F
double var4 = 12.34
System.out.println((int)var3); //结果:12
System.out.println((int)var4); //结果:12

高优先级转低优先级需要强制转化,低优先级转高优先级的数据类型是自动转化

int var1 = 128;
//高到低 int->byte
byte var2 = (byte)var1;
//低到高 int->double
double var3 = var1;

boolean类型

(占1位)值为 true 或 false

引用数据类型

  • 数组
  • 接口

要点

数据类型确定后,会有默认值
基本数据类型中数值类型默认为0或0.0,boolean类型默认为false
引用数据类型默认为null,但需要注意的是若数组内的元素类型是基本数据类型中的数值类型,那么默认值也是0或0.0

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。