A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨立考 中级黑马   /  2012-9-25 21:38  /  1211 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

xfloat型变量,ydouble型变量,aint型变量,blong型变量,cchar型变量,则表达式x+y*a/x+b/y+c计算结果的类型是double吧????

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

2 个回复

正序浏览
设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类型的,
当然要依据精度高的了。
回复 使用道具 举报
x+y*a/x+b/y+c根本不用看
据我所知,多个不同类型运算~~
类型会提升,一直提升到最大(占字节数最多)的类型。
目测double类型最大。
所以结果是double类型。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马