2014-03-24 2 views
-3
if (condition_1) 
    do_1;           
else if (condition_2) 
    do_2; 
else 
    do_default; 

이 점을 이해합니다. 여러 조건이 true를 반환하면 어떻게됩니까? 자바는 첫 번째 진실한 상태 후에 멈추는가, 아니면 휴식이 필요합니까?if 문에서 중단이 필요합니까?

+10

해당 블록 중 하나만 실행하거나 아무 것도 실행하지 않습니다. BTW, 왜 그냥 실행하고 결과를 볼 수 없습니까? –

+2

중괄호를 사용하십시오. 즉, if (condition_1) { do_1; } else if (condition_2) { do_2; } else { do_default; }' –

+0

@ The Hat 괄호가있는 사람은 성명서에 1 일만 남았을 경우 필요하지 않습니다. (호출하는 1 개의 메소드, 초기화하는 1 개의 변수 등) –

답변

0

여러 번 나누기가 필요하지 않습니다. 첫 번째 경우가 true이면 해당 코드가 실행되고 else는 건너 ​​뜁니다. 다른 경우에도 마찬가지입니다. 따라서 else가 실행되는 유일한 시간은 if 및 else if 조건이 false로 평가 된 후에입니다.

1

부울을 순서대로 평가하고 첫 번째 블록 만 실행합니다. 그래서 구문에 "else"라는 단어가 사용됩니다.

인 경우 스위치/사례 구문으로 구문이 혼동되는 경우 혼동을 야기 할 수 있습니다.

+0

그래, 두 번째'if'를 앞두고'else' 문을 버린 경우에는 완전히 다른 제어 흐름을 얻게 될 것입니다. 첫 번째 방법에 관계없이 두 번째'if' 테스트를 수행 할 것입니다. 그러나 '중단'은 일반적으로 허용되지 않습니다. 'else'를 사용하십시오. –

0

Java는 조건을 만족하는 첫 번째 if 조건 (if-else if 일 경우)을 실행하고 해당 블록을 종료합니다. 요구 사항을 충족하는 조건이 없으면 마지막 else 문이 실행됩니다. else 문이 없으면 아무 것도 실행되지 않습니다.

0

break은 문과 루프에만 해당됩니다. 조건이 발견되면 if-else 문은 트리거되지 않습니다. 모든 조건을 확인하려면 else을 입력하지 마십시오. 다른 경우에는 '병렬'IFS이있는 경우 순서도

enter image description here

3

볼하세요 : 그들은 서로하지 않을 때

if (cond) { 
    ... 
} 

if (cond) { 
    ... 
} 

이 적합 독특한.

질문에 대해서는 코드를 실행하고 직접 확인하지 않는 것이 어떻습니까?

+1

"틀린"다리는 "else"다리라는 것을 명시해야합니다. 그렇지 않으면 훌륭한 그래픽! –

+1

좋아, 나는 그것을 보았다. 이제 뭐? –

0

여러 조건 진정한 반환을 가질 수있는 경우