The following code snippet gave me compiler error at Line 1.
public abstract class xyz
{
float Gamma = 20.0; //Line 1
public class Alpha
{
v
Floating-point literals are considered double
s unless you specify that they're just float
s. (Similarly, integer literals are int
s unless specified otherwise.) Append the letter f
to the number to make it a float
:
float density = 20.0f;
The JLS has comprehensive typing rules for literal values. No, you don't have to make the literal a float
with f
, but then you have to cast it with (float)
if you want to fit it in a float
variable, since Java won't automatically try to shove a number of one type into a variable with a smaller range.