Note that the notion of generality here is imperfect in spots.Co nversion of a

Java provides explicit conversion operators called *casts* to
convert a numeric type to a less general type. A cast is simply a
type name enclosed in parentheses used a prefix operator. For
example, the following expression casts the `int` constant `127` to the type `byte`

When converting from one bounded integer type to another one Java silently truncates leading digits if the output type is shorter than the input type. Watch out!

**Finger Exercise:** In DrJava, convert the maximum `long` value
to `double`. (Do not type the 20+ digits for this constant!) What
do you get? Convert the maximum `long` value to type `float`.
What do you get? Why? Try converting the maximum `long` value minus 1 to
`double` and back again. Do you get the same result?