Junilu Lacar wrote:. . . The book is still wrong either way . . .
Something I had to learn about tests is that they must not only have a right answer, but also every answer not right must be very definitely wrong. Junilu is correct that making C a right answer vitiates B as a wrong answer.
What is an expression statement? Is that a term used by the JLS?
Yes, it is. I hadn't heard it before. One example is
i++; which is both an expression and a statement in its own right.
System.out.println("Hello world"); is another, and there is in the same section another answer to Bloch and Gafter's question about where you can break Java® code by adding ().
Joshua Bloch and Neal Gafter:
Java Puzzlers. They say (I think: not got my copy to hand) there is only one case where it is possible to break Java® code by adding () but that JLS section adds another such situation.