public class Solution {
public static void main(String[] args) {
int a = 3;
int b = ++a + (a-- * ++a);
System.out.println(b);
Serafima Tatchenkova
11 уровень
можете сказать как это работает по этапно
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ILYCH Java Developer в InDevLabs
20 августа 2021, 16:16
Попробую объяснить. Если где то ошибся, то просьба меня исправить
Изначально инициализируется переменная int a = 3, затем вводится вторая переменная b, где значение переменной "a" в скобках преинкрементируется, это значит, что она увеличивается на единицу и сразу же использует новое значение в примере (то есть становится равна 4), затем происходит умножение на "a--", однако это постдекремент, который использует изначальное значение, а только затем производит вычитание. Получается в скобках происходит умножение 4 на 4 и получается 16, а затем складывается с еще одной переменной равной 4 и в ответе получается 20.
Можете почитать вот эту статью: https://java9.ru/?p=309
+2