结果是3.0。不是3,你搞错了。
记住一句话:
参与操作数的数据是什么类型,结果就是什么类型。操作数a、b都是int,那结果就是int。
你定义的c变量是double,而左边a/b的结果是int,这里就涉及一个概念:自动类型转换。
自动类型转换指参与运算的数据类型不同时,Java自动将精度低的数据类型转换成精度高的数据类型。只有所有参与运算的操作数统一了数据类型,才能真正进行运算。 读两遍,你就懂了。
分析:
左边c:double类型 右边结果:a/b:int类型 数据类型不同,不能做真正的运算。因此要把a/b的结果类型(int)自动的转换成double(低int→高double),是自动转换的,这样的话,那a/b就转换成double,那这样左边为double,右边为double,所以可以运算了。结果是: |
|