What does Java compiler interprets by `(byte) + (char) - (int) + (long) - 1`?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/7924961/weird-java-behavior-with-casts-to-primitive-types">Weird java behavior with casts to primitive types</a>  </p>
</blockquote>



<p>Why does this code in Java,</p>

<pre><code>int i = (byte) + (char) - (int) + (long) - 1;
System.out.println(i);
</code></pre>

<p>prints 1? Why does it even compile?</p>

<p>Source: <a href="http://www.javacodegeeks.com/2011/10/weird-funny-java.html" rel="nofollow">Java Code Geeks</a></p>
