Quelle est la bonne préséance de l'expression mathématique

Quelle est la bonne séquence des opérations mathématiques dans cette expression en Java:

    a + b  * c / ( d - e )
1.    4    1   3     2
2.    4    2   3     1

Je comprends que le résultat est le même dans les deux réponses. Mais je voudrais comprendre pleinement le compilateur java logique. Ce qui est exécuté en premier, dans cet exemple, la multiplication ou l'expression entre parenthèses? Un lien vers la documentation qui couvre que ce serait utile.

Mise à JOUR: Merci les gars pour les réponses. La plupart de vous écrire que l'expression entre parenthèses est évalué en premier. Après avoir regardé les références fournies par Grodriguez j'ai créé peu de tests:

int i = 2;
System.out.println(i * (i=3)); //prints '6'
int j = 2;
System.out.println((j=3) * j); //prints '9'

Quelqu'un pourrait-il expliquer pourquoi ces tests produisent des résultats différents? Si l'expression entre parenthèses est évaluée la première je en droit d'attendre le même résultat - 9.

source d'informationauteur bancer