자바를 공부하면서 4 + 20/(3 - 1) * 2
이라는 표현이 나왔습니다.4 + 20/(3 - 1) * 2를 4 + (20)/((3 - 1) * 2)로 해석하는 것이 왜 잘못 되었습니까?
Eclipse에서이 표현식은 24로 평가됩니다. 따라서 4 + ((20/(3 - 1)) * 2)
으로 해석 될 수 있습니다.
4 + 20/(3 - 1) * 2를 4 + (20)/((3 - 1) * 2)
으로 해석하면 9가됩니까?
도움을 주셔서 감사합니다.
UPDATE
, 내 질문에 구체적으로는 수학적으로, 나의 부분에 대한 오해 나 잘못된 해석,하지 않는 한 4 + 20/(3-1) I에 의해이 논문 https://math.berkeley.edu/~gbergman/misc/numbers/ord_ops.html에서 배울 2 모호 * George Bergman, University of California, Berkeley의 교수. 하나는 4 + ((20/(3 - 1)) * 2)
또는 4 + (20)/((3 - 1) * 2)
으로 해석 할 수 있습니다.
그러나 Java에서는 4 + ((20/(3 - 1)) * 2)
해석이 올바르지 만 4 + (20)/((3 - 1) * 2)
해석은 잘못된 것처럼 보입니다. 두 해석 모두에서 괄호 안의 것들이 먼저 계산되고 곱셈과 나눗셈이 수행되고 마지막으로 덧셈과 뺄셈이 수행됩니다. 내가 두 가지 사이에서 볼 수있는 유일한 차이점은 올바른 해석 단위가 먼저 이루어지고 잘못된 해석 곱셈이 먼저 수행된다는 것입니다.
제 질문은 Java에서 하나의 해석과 다른 해석을 만드는 핵심 요소입니다.
감사합니다.
이 질문이 PHP에 게시 된 이유 – user3647254
일반적으로 출력이 24이거나 프로그램 언어와 관련된 이유는 무엇입니까? – Rizier123
두 가지 이유 : 1. 왼쪽 연관성; 2. 운영자 우선 순위. 이 모든 것은 JLS에서 정의됩니다. – fge