Examveda
Examveda

What is the output for the below code?
public class Test{
      public static void main(String[] args){
            byte b = 6;
            b+=8;
            System.out.println(b);
            b = b+7;
            System.out.println(b);
      }
}

A. 14 21

B. 14 13

C. Compilation fails with an error at line 6

D. Compilation fails with an error at line 4

E. None of these

Answer: Option C

Solution(By Examveda Team)

int or smaller expressions always resulting in an int. So compiler complain about Type mismatch: cannot convert from int to byte for b = b+7; But b += 7; // No problem because +=, -=, *=, and /= will all put in an implicit cast. b += 7 is same as b = (byte)b+7 so compiler not complain.


This Question Belongs to Java Program >> Data Types And Variables

Join The Discussion

Related Questions on Data Types and Variables