title: Weird java behavior with casts to primitive types
body: <p>This was probably asked somewhere but I couldn't find it. Could someone clarify why this code compiles and prints out <code>1</code>?</p>
  
  <pre><code>long i = (byte) + (char) - (int) + (long) - 1;
  System.out.println(i);
  </code></pre>