Давайте прочитаем это один маркер в то время, слева направо:
Первый буквальный встречается целое, 2
, то +
, то другое целое число, 3
. A +
между двумя целыми числами является добавлением, поэтому они объединяются в 5
.
Теперь у нас есть 5
, целое число, затем +
, а затем строка ">="
. A +
между целым числом и строкой является оператором конкатенации. Таким образом, строки объединяются в форму "5>="
.
Затем у нас есть "5>="
, a String, a +
, а затем целое число, 1
. Это снова конкатенация строк. Таким образом, результат "5>=1"
.
И наконец, у нас есть "5>=1"
, a String, a +
и a 1
. его снова объединяет String. Результат: "5>=11"
.
Это недопустимый код Java. Исправьте ошибку синтаксиса. – cdhowie 2010-12-08 18:56:28
извините, обновлено :) – 2010-12-08 18:57:19
Я не уверен, но я думаю, что это может быть связано с тем фактом, что вы перешли на строку частично через печать. 2 + 3 будет рассматриваться как целое число, но как только вы нажмете на «> =», я думаю, что он переключается на рассмотрение остальной части строки в виде строки.поэтому, если вы берете строку «> =» плюс строку «1» и «1», то вы получаете> = 11. Опять же, я не уверен в этом, но, похоже, имеет смысл. – guildsbounty 2010-12-08 19:00:10