【发布时间】:2013-10-25 19:15:23
【问题描述】:
- 为什么 c 的值是 2.0 和 2.5,尽管它们具有相同的数据类型
-
a/b 中的转换是如何发生的
public static void main(String[] args) { int a = 5,b=2; float c; c=a/b; System.out.println(c); c=(float)a/b; System.out.println(c); }
【问题讨论】:
-
欢迎回来整数除法。
-
a是一个整数,b是一个整数,所以没有显式转换,结果也将是一个整数 -
请务必注意,类型转换优先于
/运算符,因此(float)a/b与((float)a)/b相同。如果你写了(float)(a/b),你仍然会得到2.0。
标签: java casting int implicit-conversion explicit