Это правило указано в Спецификация языка Java :
Некоторые типы выражений могут использоваться в качестве операторов, следуя за ними с точкой с запятой.
ExpressionStatement:
- StatementExpression;
StatementExpression:
blockquote>
- Назначение
- PreIncrementExpression
]- PreDecrementExpression
- PostIncrementExpression
- PostDecrementExpression
- MethodInvocation
- ClassInstanceCreationExpression
Вы видите, что вызов конструктора является выражением. Но строковое литераловое или математическое выражение не является.