Why does an assignment of the form int = int * double give an error, and an assignment of the form int *= double does not give an error (in Java)?
Example:
public class TestEmp {
public static void main(String[] args) {
double e = 10;
int r = 1;
r *= e;
r = r * e;
System.out.println("De uitkomst van r :" + r);
}
}
r *= e
is accepted and r = r * e
isn't. Why?
r = r * e
gives you an error because the result of r * e
is a double
so there will be a loss of precision when you store it in an int
.
r *= e
does not give you an error because it is syntactic sugar for r = (int)(r * e)
(source).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With