title: Java: Arithmetic operation on byte
body: <p>What happened to my code? The following code worked for integer type of data, but couldn't work for byte type of data.</p>
  
  <pre><code>public class Exchange {
      public static void main(String[] args) {
      //int a = 23, b = 44;
      byte a = 23, b = 44;
      a = a + b;
      b = a - b;
      a = a - b;
      System.out.println("a=" + a + "b=" + b);
      }
  }
  </code></pre>
  
  <p>I know that the data-type byte can hold data of the range -2^(8-1) to -1+2^(8-1). But I'm using 23 &amp; 44, so it's less than 127. </p>
  
  <p>Here I got error message "incompatible types: possible lossy conversion from int to byte".</p>