Какова правильная последовательность математических операций в этом выражении в 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.