为什么在 java 中的 Float 数据类型中存储一个本质上是整数的文字值,最后没有 'f' 不会出错?
Why storing a literal value which is whole number in nature in a Float datatype in java without 'f' at the end don't give an error?
float firstFloatValue = 5;
float secondFloatValue = 2.5;
为什么末尾没有 f 的第一个变量不会出错,而第二个变量会出错?
我知道如果我们不在文字的末尾放置 f,它就会被假定为双精度数。但是为什么在最后没有 f 的情况下用 5 初始化第一个变量时没有错误。
请帮助我,我是 Java.
的新手
错误信息:
Main.java:12: error: incompatible types: possible lossy conversion from double to float
float secondFloatValue = 2.5;
您没有包含错误消息(始终包含 Whosebug 上的错误消息)。
没有类型后缀 f
(如 2.5f
),文字 2.5
被解释为 double
,不适合 float
]变量。
由于类型转换 firstFloatValue 示例 int 被类型转换为 float(小内存数据类型转换为高内存数据类型)默认行为。
但是在第二个 double 中不能类型转换为 float
float firstFloatValue = 5;
float secondFloatValue = 2.5;
为什么末尾没有 f 的第一个变量不会出错,而第二个变量会出错? 我知道如果我们不在文字的末尾放置 f,它就会被假定为双精度数。但是为什么在最后没有 f 的情况下用 5 初始化第一个变量时没有错误。 请帮助我,我是 Java.
的新手错误信息:
Main.java:12: error: incompatible types: possible lossy conversion from double to float
float secondFloatValue = 2.5;
您没有包含错误消息(始终包含 Whosebug 上的错误消息)。
没有类型后缀 f
(如 2.5f
),文字 2.5
被解释为 double
,不适合 float
]变量。
由于类型转换 firstFloatValue 示例 int 被类型转换为 float(小内存数据类型转换为高内存数据类型)默认行为。 但是在第二个 double 中不能类型转换为 float