title: Is addition of byte converts to int because of java language rules or because of jvm?
body: <pre><code>byte a = 1;
  byte b = 1;
  byte c = a + b;
  </code></pre>
  
  <p>Throws error: possible loss of precision</p>
  
  <pre><code>byte subt = a_s - a_b;
                  ^
    required: byte
    found:    int
  </code></pre>
  
  <p>Is this behavior has something to do with jvm or its been defined in java language .</p>
  
  <p><strong>EDIT :</strong> And if it is defined in java language then does it because of keeping jvm in mind ?</p>
  
  <p>Means if java supports <code>byte</code> datatype then why <code>operation on byte</code> results <code>int</code></p>