Автор Николай Иванов задал вопрос в разделе Другие языки и технологии
[Java] Чем отличается i++; от ++i; Если можно, то с наглядным примером и получил лучший ответ
Ответ от Namolem[гуру]
Основное отличие заключается в порядке выполнения действий. Оператор i++ называется постфиксным инкрементом: сначала текущее значение переменной используется в выражении или присваивается другой переменной, и только после этого значение i увеличивается на единицу. Оператор ++i является префиксным инкрементом: сначала значение переменной увеличивается на единицу, и уже это новое значение участвует в вычислениях. Рассмотрим наглядный пример. Если i равно 1, то при выполнении a = i++ переменная a получит значение 1, а i станет равной 2. Если i равно 1 и выполняется a = ++i, то сначала i увеличится до 2, и переменная a также получит значение 2. Еще один пример вычислений: если a равно 3, а b равно 5, то при c = a * b++ переменная c будет равна 15, а b станет 6. При c = a * ++b переменная b сначала станет 6, и c будет равно 18. В языке Java порядок вычислений строго определен и не зависит от компилятора, что гарантирует предсказуемый результат, в отличие от некоторых других языков программирования.
i++ -наращивание после выполнения команды ++i - сначала наращивание, потом вычисления
Пример: i=1;a=i++; => i=2 a=1 i=1;a=++i; => i=2 a=2
Java не знаю, покажу вот так i=5 и теперь если f = ++i то f = 6 а если f = i++ то f=5
пример (только на С) int a = 3, b = 5, c; 1. c = a * b++ // c = 3 * 5 = 15, b = 5 + 1 = 6 2. c = a * ++b // b = 5 + 1 = 6, c = 3 * 6 = 18
чем отличается ++x от x++ в С++
В программировании на C++ буква x обычно обозначает переменную, то есть именованную область памяти
подробнее...
Чем отличается кража от воровства, грабежа, хищения? Есть разница в этих словах, или это синонимы?
Хищение — это общий юридический термин, обозначающий любое противоправное изъятие чужого имущества.
подробнее...
Чем отличается сканворд от кроссворда
Главное отличие сканворда от классического кроссворда заключается в расположении заданий и
подробнее...
Чем отличается дефис от тире. И как их различать на письме?
Дефис и тире отличаются внешне и по функциям. Дефис — орфографический знак внутри слова. Он короче
подробнее...
Чем отличается UTC от GMT ?
Главное отличие — в основе измерения. GMT (среднее время по Гринвичу) основано на суточном вращении
подробнее...