@@ -0,0 +1,406 @@
+%0Apackage net.restlesscoder.sandbox;%0A%0Apublic class PlusEqualsCasts %7B%0A%0A%09public static void main(final String... args) %7B%0A%09%09int x = 5;%0A%09%09System.out.println(%22x -%3E %22 + x);%0A%0A%09%09// The following does not compile.%0A%09%09//x = x + 3 * 1.9;%0A%09%09//System.out.println(%22x -%3E %22 + x);%0A%0A%09%09// But the following does compile!!%0A%09%09x += 3 * 1.9;%0A%09%09System.out.println(%22x -%3E %22 + x);%0A%09%09x *= 2.65;%0A%09%09System.out.println(%22x -%3E %22 + x);%0A%09%7D%0A%0A%7D%0A

Add illustration of += operator cast craziness