有关Java数据类型转换

数据类型转换

话不多说,先来图片
在这里插入图片描述

  • 基本数据类型与引用数据类型

    基本:boolean, char,byte,short,int,long,float,double
    引用:String,引用类型具体可分为:数组、类和接口
  • 隐式转换

    隐式转换也叫作自动类型转换, 由系统自动完成.从存储范围小的类型到存储范围大的类型.
    byte ->short(char)->int->long->float->double
  • 显示转换

    显示类型转换也叫作强制类型转换, 是从存储范围大的类型到存储范围小的类型.当我们需要将数值范围较大的数值类型赋给数值范围较小的数值类型变量时,由于此时可能会丢失精度(1讲到的从int到k型的隐式转换除外),因此,需要人为进行转换。我们称之为强制类型转换。
    double→float→long→int→short(char)→byte
    当进行数学运算时,数据类型会自动发生提升到运算符左右之较大者,例如:
int a=233;
byte b=(byte) a;
System.out.println(b);

此时得到的数值是-23,233的二进制表示为:24位0 + 11101001,byte型只有8位,于是从高位开始舍弃,截断后剩下:11101001,由于二进制最高位1表示负数,0表示正数,其相应的负数为-23。

  • 补充

    数据类型范围从小到大排序(byte ->short(char)->int->long->float->double
    )。
    1.布尔类型Boolean不能参与类型转换;
    2.两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换

猜你喜欢

转载自blog.csdn.net/ZhouhbUp/article/details/82756349