Какова правильная последовательность математических операций в этом выражении в Java:
a + b * c / ( d - e )
1. 4 1 3 2
2. 4 2 3 1
Я понимаю, что в обоих ответах результат одинаковый. Но я хотел бы полностью понять логику компилятора java. Что выполняется первым в этом примере - умножение или выражение в круглых скобках? Ссылка на документацию, которая охватывает это, будет полезна.
ОБНОВЛЕНИЕ: Спасибо, ребята, за ответы. Большинство из вас пишут, что выражение в круглых скобках сначала оценивается. Изучив ссылки, предоставленные Гродригесом, я создал небольшие тесты:
int i = 2;
System.out.println(i * (i=3)); // prints '6'
int j = 2;
System.out.println((j=3) * j); // prints '9'
Может ли кто-нибудь объяснить, почему эти тесты дают разные результаты? Если выражение в круглых скобках оценивается первым, я ожидаю тот же результат - 9.