title: Cannot convert from to - Java's implicit type conversion and an unary operator
body: <pre><code>byte b1 = 3 + 5;
  </code></pre>
  <p>The literals <code>3</code>, <code>5</code> and <code>3 + 5</code> are of type <code>int</code>.
  The expression above works because Java internally converts the result of <code>3 + 5</code> from <code>int</code> to <code>byte</code>, or?</p>
  <p>The same explanation should work in the case of <code>b2</code>:</p>
  <pre><code>    byte b1 = 3 + 5;
      byte b2 = b1 + 5; // Type mismatch: cannot convert from int to byte
  </code></pre>
  <p>But it does not.</p>
  <p>Why?</p>