-
if - else if 문Java/조건문 & 반복문 2020. 10. 22. 14:14
if - else 문은 두 가지 경우 중 하나가 수행되는 구조이다. 그러면 수행되어야 하는, 처리해야될 경우의 수가 세가지 이상일 때에는 어떻게 할 수 있을 까? 바로 if - else if 문을 사용하면 된다.
if ( 조건식 1 ) {
// 조건식 1의 연산결과가 참일 때 수행될 문장을 정의, 구현한다.
} else if ( 조건식 2 ) {
// 조건식 2의 연산결과가 참일 때 수행될 문장을 정의, 구현한다.
} else if ( 조건식 3 ) {
// 조건식 3의 연산결과가 참일 때 수행될 문장을 정의, 구현한다.
} else { //마지막은 보통 else 블럭으로 끝나고, else 블럭은 생략이 가능하다!
// 위의 조건들에서 하나도 만족하지 않을 때 수행될 문장을 정의, 구현한다.
}
if - else if 문은 결과가 참인 조건식을 만나 때 까지 첫 번째 조건식부터 순서대로 평가한다. 만약 첫 번재 조건식에서 거짓일 경우 두 번째 조건식으로 넘어가게 된다. 계속해서 조건식에 따른 결과에 따라 참인 조건식을 만나게 되면 해당 { }블럭의 문장들이 수행된다. 그리고 조건에 해당하는 경우가 없을 경우에는 else 문이 실행되어 if - else if 문을 빠져나오게 된다.
아래의 학점을 출력하는 예제를 보고 if - else if 문을 공부해 보자.
각 조건문 안에서 결과를 출력 위의 코드에서는 각 조건식 안에 직접 System.out.println( ), System.out.printf( ); 등을 통해 조건식에 대해 수행될 문장을 출력해도 된다. 하지만 계속해서 학점에 대한 출력문구가 반복되기 때문에 else 문이 끝난다음에 한 번만 작성해도 동일하게 score를 가져와서 학점을 계산해주는 결과를 출력해주는 코드로 바꿀 수 있다.
전체 코드 >
< else 문이 끝난 다음 결과를 출력 > 여기서 한 가지 눈여겨 봐야할 것이 있다.
조건식에서 점수가 90점 미만이고, 80점 이상인 사람에게 'B'학점을 주는 조건이라면,
아래의 코드에서처럼 조건식이 '80 <= score && score < 90' 이 되어야 한다.
그런데도 조건식에서 'score >= 80' 으로 쓸 수 있는 것은
첫 번째 조건식에서 'score >= 90'이 거짓이기 때문에 'score < 90'이 참이라는 뜻이므로 두 번째 조건식에서
'scroe < 90'이라는 조건을 중복해서 확인할 필요가 없다. --> < else 문이 끝난 다음 결과를 출력 > 의 그림을 참고하자.
[참고 도서 Java의 정석_기초편] http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994492049&orderClick=LEa&Kc=
'Java > 조건문 & 반복문' 카테고리의 다른 글
switch 문의 제약조건, switch문을 if - else if문으로 변경해보기 (0) 2020.10.22 switch 문, switch문의 제약조건 (0) 2020.10.22 중첩 if문 (0) 2020.10.22 if - else 문 (0) 2020.10.21 조건식의 다양한 예 - &&, ||, equals( ), equalsIgnoreCase( ) (0) 2020.10.21