반응형
간단한 부울에 대한 if / else if / else가 "도달 할 수없는 코드"오류를 제공하지 않는 이유
이 코드가 "연결할 수없는 코드"오류를 표시하지 않는 이유는 무엇입니까? 부울은 참 또는 거짓 일 수 있기 때문입니다.
public static void main(String args[]) {
boolean a = false;
if (a == true) {
} else if (a == false) {
} else {
int c = 0;
c = c + 1;
}
}
문에 연결할 수 없어서 실행할 수없는 경우 컴파일 타임 오류입니다.
과
if-then-else 문에 도달 할 수있는 경우 else- 문에 도달 할 수 있습니다.
if-then-else 문에 연결할 수 있습니다. 따라서 정의에 따라 컴파일러는 else 문에 도달 할 수 있다고 생각합니다.
참고 : 흥미롭게도 다음 코드도 컴파일됩니다.
// This is ok
if (false) { /* do something */ }
이것은 사실이 아닙니다. while
// This will not compile
while (false) { /* do something */ }
에 대한 도달 가능성 정의 while
가 다르기 때문에 (강조) :
while 문에 도달 할 수 있고 조건식이 값이 false 인 상수 표현식이 아닌 경우 포함 된 명령문에 도달 할 수 있습니다.
반응형
'IT박스' 카테고리의 다른 글
ajax 콜백 끝에서 .bind (this)의 목적은 무엇입니까? (0) | 2020.12.13 |
---|---|
Docker는 컨텍스트 외부에서 심볼릭 링크를 따릅니다. (0) | 2020.12.13 |
재귀없이 이진 트리의 사후 순회 (0) | 2020.12.12 |
파이썬 지원으로 vim 컴파일 (0) | 2020.12.12 |
DBMS 컨텍스트에서 정확히 BLOB는 무엇입니까? (0) | 2020.12.12 |