English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Мы знаем:
int i = 5;
long j = 7;
i = i + j не может быть скомпилирован, но i += j может быть скомпилирован и выполнен, результат i = 12.
Это потому что:
i += j эквивалентно i = (int)(i+j);
Кратко: для композитных выражений присваивания E1 op= E2 (например, i += j; i -= j и т.д.), это эквивалентно E1 = (T)((E1) op (E2)), где T - тип элемента E1.
Этот вопрос уже answered в официальной документации. Адрес официальной документации §15.26.2 Композиты Assignment Operators
Краткое введение в различия между операторами += и ++, надеюсь, это поможет вам. Если у вас есть какие-либо вопросы, пожалуйста, оставляйте комментарии, я отвечу вам своевременно. В этом я очень благодарен вам за поддержку сайта呐喊 руководств!
Заявление: содержимое статьи взято из Интернета, авторские права принадлежат соответствующему автору, материалы предоставлены пользователями Интернета в добровольном порядке, сайт не имеет права собственности, материалы не редактировались вручную и не несут ответственности за связанные с этим юридические последствия. Если вы обнаружите материалы,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (при отправке письма замените # на @) для сообщения о нарушении и предоставьте соответствующие доказательства. При подтверждении факта нарушения сайт незамедлительно удаляет материалы,涉嫌侵权.