The official details are in the Java Language Specification, but it is not easy reading. If you do arithmetic with two different kinds of numbers you need to know what sort the result is, otherwise you might get erroneous results or a compiler error.
If you are passing objects around you might need to cast them to different types (but class casting is a hazardous and error-prone activity). Unfortunately I failed to find much about primitive casting in the Java Tutorials but you could try a search; you might have more luck than I did. There were 32 references to "cast" for objects, however.