Я использовал это утверждение
System.out.println("Y"+90+90);
Ответ Java показывает: Y9090
.Я понимаю, как Java выполняет эту операцию.Строка объединяется с литералами, если используется оператор +
.Поэтому Y
сначала объединяется с 90, образуя Y90
как новую строку, а затем снова Y90
объединяется с 90
, образуя Y9090
в качестве результирующей строки.
Когда я меняю приведенное выше выражение на:
System.out.println("Y"+90-90);
Java показывает ошибку.В этом случае Y
объединяется с 90
, образуя Y90
в качестве новой строки.Эта новая строка сталкивается с оператором -
и выдает ошибку.
Но если я напишу это:
System.out.println("Y"+90*90);
Он показывает ответ как Y8100
.
Как это возможно?Это должно было привести к ошибке, или Java должен был дать аналогичный ответ для второго оператора, такой как Y0
, без ошибки.