黑马程序员技术交流社区

标题: 表达式 [打印本页]

作者: 杨立考    时间: 2012-9-25 21:38
标题: 表达式
xfloat型变量,ydouble型变量,aint型变量,blong型变量,cchar型变量,则表达式x+y*a/x+b/y+c计算结果的类型是double吧????
作者: 李建强    时间: 2012-9-25 21:47
x+y*a/x+b/y+c根本不用看
据我所知,多个不同类型运算~~
类型会提升,一直提升到最大(占字节数最多)的类型。
目测double类型最大。
所以结果是double类型。
作者: 杨卫腾    时间: 2012-9-25 21:49
设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,
则表达式x+y*a/x+b/y+c计算结果的类型是double吧????

比如:
class Demo
{        public static void main(String[] args)
        {
                int a= 8;
                float x = 16;
                double y = 4.43;
                long  b = 123244;
                char c = 'c';
                System.out.println(x+y*a/x+b/y+c);
        }
}
输出:27937.531027088036
的确这个的输出结果是 double类型的。

因为这些数据进行运算的时候,double 是64位的,精度最高的是double类型的,
当然要依据精度高的了。





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