在另一个 Bruce Eckels 计算速度的练习中,v = s / t其中 s 和 t 是整数。我该如何做到这一点,以便部门产生浮动?
v = s / t
class CalcV { float v; float calcV(int s, int t) { v = s / t; return v; } //end calcV } public class PassObject { public static void main (String[] args ) { int distance; distance = 4; int t; t = 3; float outV; CalcV v = new CalcV(); outV = v.calcV(distance, t); System.out.println("velocity : " + outV); } //end main }//end class
只需先将两个操作数之一转换为浮点数。
v = (float)s / t;
演员表的优先级高于除法,因此发生在除法之前。
编译器将有效地自动将另一个操作数转换为浮点数,因为规则说如果任何一个操作数是浮点类型,那么该操作将是浮点操作,即使另一个操作数是整数。 Java 语言规范,搂4.2.4和搂15.17