The float and double types can store floating-point numbers, but not with infinite precision. A float has about 6 or 7 decimal digits of precision, and a double has 15 or 16 decimal digits.
A floating-point literal in
Java is by default a double. So you will get a "possible loss of precision" error if you do something like this:
float pi = 3.14159265358979;
You can add a letter "f" or "F" to make a floating-point literal a float:
float pi = 3.151593f;
(Note, it makes no sense to specify more than 7 digits for a float, because they won't fit into the float anyway).