title: Narrowing Type Conversion: Why is assignment of int to a byte in a declaration allowed?
body: <p>This may sound too trivial for an intermediate Java programmer. But during my process of reviewing Java fundamentals, found a question:</p>
  
  <p>Why is narrowing conversion like:</p>
  
  <pre><code>byte b = 13;
  </code></pre>
  
  <p>will be allowed while</p>
  
  <pre><code>int i = 13;
  byte b = i;
  </code></pre>
  
  <p>will be complained by the compiler?</p>