Day06 类型转换

类型转换

  • 由于Java是强类型语言,所以要进行不同类型数据运算时,需要用到类型转换

​ byte,short,char→int→long→float→double(浮点数>整数)

​ 低-------------------------------------------------------→高

  • 运算中,不同类型的数据要先转化为同一类型,然后计算
  1. 强制转换:高→低,(类型)变量名

例:int i = 128;byte b = (byte)i;print b = -128 内存溢出(避免此类转换)

  1. 自动转换:低→高

例:int i = 128;long b = i;print b = 128

注意点:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相关的类型

  3. 高到低转换时需要强制转换

  4. 转换时会出现内存溢出或者精度问题

    例:print((int)23.77)= 23;print((int -45.558f))= -45

  5. 操作比较大的数的时候,注意溢出问题

    例:

    1. int a = 10_0000_0000;int b = 20;int c = ab;print c =-1474836480(溢出
    2. int a = 10_0000_0000;int b = 20;long c = ab;print c =-1474836480(溢出,int*int默认结果为int
    3. int a = 10_0000_0000;long b = 20L;long c = ab;print c =20_0000_0000(低*高默认结果为高
    4. int a = 10_0000_0000;int b = 20;long c = a(long)b;print c =20_0000_0000(低*高默认结果为高
posted @ 2021-11-17 23:55  吃泡沫的猪  阅读(41)  评论(0)    收藏  举报