自动类型转换的问题

问题是这样的:
设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的值为什么类型?
希望能说明一下思路,本人初学,谢谢
qinghua9 我明白您说的,但这个问题如何运算呢?最后的答案呢?

我给楼主简单的说一下JAVA中类型提升的基本法则
在JAVA中:
在JAVA中对基本数据类型,执行算术运算或按位运算,只要他们比"int"小比如(char,byte,short),那么运算前,这些值会自动转换为int.所以最终生成的结果就是int类型了
而通常表达示中出现的最大的数据类型,决定了其表达示结果的最终数据类型,如:将一个float与一个double相乖,其结果肯定是double,将一个int和一个long相加,结果一定是long就是这个道理.
不知楼主明白否
运算时类型自动转换
比如:y*a/x
先运算y*a结果是double
再运算(y*a)/x
结果是double
明白了 不
类型是一步步转换的

参考资料:THINK IN JAVA

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-21
这个是string类型。字符串类型不就是string类型,
这个是不会自动转换陈int类型的,要进行强制转换
int
unicod=
convert.toint32(sourcestring[i]);
这样转换那个字符串类型必须是类似数字的形式。
第2个回答  2008-02-08
这个值是不存在的,因为不同类型的变量不能在一起运算
第3个回答  2008-02-08
是不是int啊,我猜的 呵呵