数据类型转换

1、自动转换

  向上转换:整型,字符型,浮点型的数据在混合运算中相互转换。

  转换原则:容量小的类型可自动转换为容量大的数据类型。

  int和byte类型进行加减运算,结果是int类型。

  自动转换:将取值范围小的类型自动提升为取值范围大的类型。

       同样的道理,当一个int和double进行运算时,会自动转换为double类型进行运算

       byte类型占一个字节,和int类型进行运算时会自动补充三个字节。

  Eg:
  int i = 123;
  long l = i;//自动转换,不需强转
  float f = 3.14F;
  double d = f;

  转换规则:取决于数据类型的取值范围    byte,short,char → int → long → float → double

  byte,short,char 之间不会相互转换,他们在计算时首先会转换为 int 类型。
  boolean 类型是不可以转换为其他基本数据类型

2、强制转换

  int  i=1.5;  //编译错误

  double内存是8字节,int内存是4个字节。1.5是double类型,取值范围大于int。可以理解为8升水的的水壶装满不能倒进4升的水壶。

  强制转换:将取值范围大的类型自动提升为取值范围小的类型。

  数据类型  变量名=(强制转换的类型)被转数据值。

  Eg:
  long l = 123L;
  int i = (int) l;//必须强转
  double d = 3.14;
  float f = (float) d;

 

3、总结 : 类型转化

  小转大 , 自动 ! 自动类型转换 ( 也叫隐式类型转换 )
  大转小 , 强转 ! 强制类型转换 ( 也叫显式类型转换 )

posted @ 2019-08-05 10:36  E_lian  阅读(248)  评论(0编辑  收藏  举报