黑马程序员技术交流社区

标题: 类型转换时,类型的高,低级的顺序及解决!! [打印本页]

作者: 徐鹏辰    时间: 2015-8-10 18:50
标题: 类型转换时,类型的高,低级的顺序及解决!!
本帖最后由 徐鹏辰 于 2015-8-11 10:17 编辑
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 double d=3.14;
  6.                 int x=12;
  7.                 float f=2.4f;
  8.                 //转为float单精度
  9.                 f=x+f;
  10.                 System.out.println("f="+f);
  11.                 //转为double双精度
  12.                 d=f+d;
  13.                 System.out.println("d="+d);
  14.                 //转为int
  15.                 x=x+d;
  16.                 System.out.println("x="+x);
  17.         }}
复制代码
float与int运算,结果为float;     double与int运算,结果为double;     double与float运算,结果为double。

类型的高级,低级是顺序是什么分布的??


作者: 肋肋    时间: 2015-8-10 19:16
以内存空间分
作者: 徐鹏辰    时间: 2015-8-10 19:19
肋肋 发表于 2015-8-10 19:16
以内存空间分

求具体讲解!
作者: 董兴朋    时间: 2015-8-10 19:44
浮点型高于其他类型,整型高于字符型,从低往高:char->int->long->float->double。
作者: Wqi    时间: 2015-8-10 20:22
byte、short、char->int->long->float->double

作者: 徐鹏辰    时间: 2015-8-11 10:16
是否应该是这样的呢??
自动类型转换
整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类 型,然后进行运算。转换从低级到高级,如下
转换规则为:
① (byte或 short) op int→ int
② (byte或 short或 int) op long→ long
③ (byte或 short或 int或 long) op float→ float
④ (byte或 short或 int或 long或 float) op double→ double
⑤ char op int→ int
其中,箭头左边表示参与运算的数据类型,op为运算符(如加、减、乘、除等),右边表示转换成的进行运算的数据类型。

作者: yefeidd    时间: 2015-8-11 10:25
高级和低级一起运算结果是什么?
作者: 徐鹏辰    时间: 2015-8-11 10:28
yefeidd 发表于 2015-8-11 10:25
高级和低级一起运算结果是什么?

类型自动提升为高级




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2