float变量初始化java

问题描述

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

float density = 20.0f;

JLS具有用于文字值的全面输入规则。不,你不必做字面floatf,但你必须与投它(float),如果你想以适应它的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’可以在末尾用于浮点变量,但这是强制性的吗?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”