However, if both expressions have type int, then the result is an int. Does that sound strange? What is the result of evaluating 7 / 3?
Java does integer division, which basically is the same as regular real division, but you throw away the remainder (or fraction). Thus, 7 / 3 is 2 with a remainder of 1. Throw away the remainder, and the result is 2.
Integer division can come in very handy. Even if you don't see a use for it now, it is used quite often.
What happens if you really want an answer that's double. That is, you want the answer to be 2.33333333 or something close.
One way is to cast the denominator to double. You do this as 7 / (double) 3. Casting is an operator that creates a temporary double value. Thus it creates a temporary 3.0 double.
When one of the operands to a division is a double and the other is an int, Java implicitly (i.e. behind your back) casts the int operand to a double. Thus, Java performs the real division 7.0 / 3.0.