float变量初始化java

以下代码段使我在第1行出现了编译器错误。

public abstract class xyz

{

float Gamma = 20.0; //Line 1

public class Alpha

{

void Beta()

{

System.out.println("this is atest");

}

}

}

abc0.java:5: error: possible loss of precision

float density = 20.0;

^

required: float

found: double

2 errors

据我了解,float用于十进制变量。

我是否遗漏了明显的东西,还是应该始终对小数变量初始化使用强制转换?

编辑:我知道’f’可以在末尾用于浮点变量,但这是强制性的吗?

回答:

double除非您指定浮点文字只是s,否则它们将被视为floats。(类似地,int除非另有说明,否则整数文字是s。)将字母追加f到数字上使其成为a

float

float density = 20.0f;

JLS具有用于文字值的全面输入规则。不,你不必做字面floatf,但你必须与投它(float),如果你想以适应它的float变量,因为Java将不会自动尝试推一些一种类型的与变量较小的范围。

以上是 float变量初始化java 的全部内容, 来源链接: utcz.com/qa/428189.html

回到顶部