我可以在 Java 中设置除法结果的最终变量吗?

Can I set a final variable in Java with a result of a divison?

我想要一个全局范围的变量,这样一些图形对象相对于 window 可以始终具有相同的大小。我的想法:

public static final double GLOBALSCALE = SCREENWIDTH / 1920;

但那时我的变量为零。 它发生在单例模式的数据字段中-Class..我理解错了吗?

您将 int 与 int 相除并期望结果为 double 是错误的。您需要除以双倍:

public static final double GLOBALSCALE = SCREENWIDTH / 1920.0;

注意区别,1920.0 是双精度型,而 1920 是整数型。如果两者之一是 double java 将不会进行整数除法而是 double。

或者像这样将除法转换为双精度数:

public static final double GLOBALSCALE = SCREENWIDTH / (double)1920;