System.out.println(number + number * (number + ++number));
1. То что в скобках получается 2 + 3 = 5 (это понятно)
2. Значение number с 2 равняется ведь 3, и по логике в умножении должно получится такое выражение ( 3 * 5 = 15) и дальше 3 + 15 = 18 ( вместо 12)Abakar
37 уровень
почему number не 3 а 2
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
27 июля 2024, 22:55
Как происходит вычисление:
Сначала в выражении переменные заменяются значениями, тупо слева направо, без соблюдения правил очерёдности вычисления, но с соблюдением всех криментов. Получается
2 + 2 * (2 + 3)
Потом это считается с соблюдением правил арифметики, сначала скобки, потом умножение, потом сложение.
Получается 12.
+3