Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which line rests on a mistaken assumption?

public class Sample50
{
    public static void main(String[] args)
    {
        byte b = 10;
        b += 300;
        assert b == 310 : b;
        System.out.println(b);
    }
}

  • A.No line here is in error.
  • B.assert b == 310 : b;
  • C.b += 300;
  • D.System.out.println(b);

Answer: B

A compound assignment carries an implicit narrowing cast, so b += 300 compiles and wraps the result into a byte rather than failing. The value becomes 54, so the assertion is false. The line the author expected to be rejected is legal, and the assertion states the arithmetic they assumed.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.