В чем разница между a + = b и a = + b, а также ++ и ++ a?

Как я упоминал в названии,

В чем разница между a + = b и a = + b, а также ++ и ++ a? Я немного смущен

a += b эквивалентно a = a + b

a = +b эквивалентно a = b

a++ и ++a оба увеличивают a на 1. Разница заключается в том, что a++ возвращает значение a до приращения, тогда как ++a возвращает значение после приращения.

То есть:

 a = 10; b = ++a; //a = 11, b = 11 a = 10; b = a++; //a = 11, b = 10 

a += b эквивалентно a = a + b

a = +b эквивалентно a = b

a++постфиксное приращение, а ++aприращение приставки . Они не отличаются при использовании в автономном заявлении, однако их результат оценки отличается: a++ возвращает значение a до приращения, а ++a after . Т.е.

 int a = 1; int b = a++; // result: b == 1, a == 2 int c = ++a; // result: c == 3, a == 3 

Другие ответили на большинство ваших вопросов. Тем не менее, они немного пропускают ваш второй пример.

a = +b присваивает значение +b . «Унарный плюс» – это не операция для числовых типов, но ошибка времени компиляции для других типов объектов (например, вы не можете использовать ее со строкой). Он предоставляется в основном, чтобы вы могли писать цифры с указателем «впереди», когда захотите. Это никогда не требуется, но в некоторых случаях это может улучшить читаемость.

a + = b ========> a = a + b

a = + b ========> a = b

++ a будет увеличивать переменную и возвращать добавочное значение.

a ++ увеличит эту переменную, но вернет значение до того, как оно будет увеличено.

Операторы Java

 a += b; // a = a + b a = +b; // a = b a++; // a = a + 1 (returning a if used inside some expression) ++a; // a = a + 1 (returning a + 1 if used inside some expression) 
 a += b <=> a = a + b a =+ b <=> a = b a++ // post increment, means the value gets used, and after that, a is incremented by one ++a //pre increment, a is incremented by one before the value is used 

a ++ сначала считывает значение a, а затем увеличивает его значение. ++ сначала увеличивает значение, а затем читает его. Вы можете легко увидеть разницу в их печати.

 int a = 4; System.out.println(a++); // prints 4, after printing, a == 5 System.out.println(++a); // first increments a, then reads its value (6), and that's what got printed. 

для a += b и a = +b , @ Péter Török четко ответила.

Здесь вы можете найти разницу. Есть примеры для всех случаев, о которых вы говорите!

  • Android ClassNotFoundException
  • Почему получение Google Directions для Android с использованием данных KML больше не работает?
  • источник отладки jdk не может просматривать переменную, что она
  • Как получить class вызывающего абонента в Java
  • Импорт внешнего файла .jar в проект Android
  • Android Intent для отправки электронной почты с приложением
  • Добавление Admob в libgdx
  • Как записать файлы на внешнее общедоступное хранилище на Android, чтобы они были видны из Windows?
  • В чем разница между ServletContextHandler.setResourceBase и ResourceHandler.setResourceBase при использовании встроенного контейнера Jetty?
  • Android - создание CSV-файла из значений таблицы
  • Как проверить, существует ли class в пакете?
  • Interesting Posts

    Разбиение строки на новые строки в R

    Как создать открытую беспроводную сеть вместе с частной беспроводной сетью?

    Какой метод вы используете для развертывания приложений ASP.Net в дикой природе?

    Java: почему устаревший конструктор даты не используется, и что я использую вместо этого?

    Лучший дизайнер GUI для eclipse?

    Как восстановить .bash_profile на mac? Ни один из моих терминалов unix не работает

    JSF не поддерживает проверку кросс-поля, есть ли обходной путь?

    Как заставить многие формулы столбцов игнорировать те же строки в Excel?

    Есть ли один JVM для Java-приложения?

    Как я могу диагностировать неспособность достичь определенного веб-сайта в качестве конечного пользователя?

    Значок значка панели задач (и предварительный просмотр значка Alt + Tab) быстро исчезает

    Автоматически переименовывать файл, если он уже существует в Windows

    socket.io и выразить 4 сеанса

    Автоматический запуск Notepad ++ macro

    Как узнать характеристики процессора Intel?

    Давайте будем гением компьютера.