Java에서 단락 연산자의 우선 순위를 이해하는 데 어려움을 겪고 있습니다. "& &"조건의 첫 번째 부분이 "거짓"으로 평가되면 단락 회로 동작에 따라 "true || true"표현의 오른쪽 부분이 중요하지 않아야합니다. 나머지 표현식은 평가되지 않았습니다.다음 표현식이 true를 반환하는 이유는 무엇입니까?
그러나 다음 코드를 실행하면 결과가 "true"로 표시됩니다. 누군가 나에게 설명 할 수 있을까요?
public class ExpressionTest{
public static void main(String[] args) {
boolean result1 = false && true || true;
System.out.println(result1);
}
}
감사합니다! 이제 표현식이 "사실"로 평가되는 이유를 알았습니다. 그러나, 왜 컴파일러는 평가 전략을 (false && true)로 선택하게 하는가? 참된. 대신, "&&"연산자 바로 앞에 "거짓"을 본 후에 나머지 구문을 무시할 수 있습니까? – sunsin1985
@ sunsin1985. Java는 왼쪽에서 오른쪽으로 표현식을 평가합니다. 그렇습니다. –
감사! 그것은 나에게 그것을 설명한다. – sunsin1985