In this article, we explain what happens when Java attempts to assign a double/float value to an int type, a float value to a double variable and vice versa. We also discuss how expressions containing different numeric types (double and int, say) are evaluated in Java.