P

Praveen Singh • 36.81K Points
Coach

Q. 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 6 D. Compilation fails with an error at line 4
  • Correct Answer - Option(C)
  • Views: 34
  • Filed under category JAVA

Explanation by: Praveen Singh
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.

You must be Logged in to update hint/solution

Discusssion

Login to discuss.


Question analytics