Java 기초 제어문 - if문(3)
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
if문의 기능 중 하나인 else if에 대해 이해한다.
else if문으로 학점 프로그램을 만들어 본다
else if문을 잘못 사용할 경우 학점 프로그램에서 어떠한 문제가 일어나는지 이해한다.
코드
package ex04controlerstatement;
public class E01If03 {
/*
if문
형식3]
if(조건1){
실행문1
}
else if(조건2){
실행문2;
}
else{
위 모든 조건이 만족하지 않을때 실행할 문장;
}
※ 단 else문에는 조건식이 들어갈 수 없다.
*/
public static void main(String[] args) {
/*
시나리오] 국,영,수 점수의 평균값을 구하여 학점을 출력하는
프로그램을 작성하시오. 90점 이상은 A학점.......60점 미만은 F학점으로
판단하여 출력하시오.
*/
int kor = 99, eng = 70, math = 64;
double avg = (kor + eng + math) / 3.0;
System.out.println("평균점수는(그대로) : " + avg);
System.out.printf("평균점수는(소수2자리 : %.2f\n", avg);
if(avg >= 90) {
System.out.println("A학점");
}
else if(avg >= 80) {
System.out.println("B학점");
}
else if(avg >= 70) {
System.out.println("C학점");
}
else if(avg >= 60) {
System.out.println("D학점");
}
else {
System.out.println("F학점. 학사경고");
}
/*
if~else 구분을 구성할때는 조건의 구간을 어떻게 설정하느냐에 따라 전혀 다른
결과가 나올수 있으므로 주의해야 한다.
아래 문장은 높은 점수라 할지라도 60이상의 조건에 만족하므로 무조건
D학점이 출력된다.
*/
System.out.println("잘못된 조건식의 if~else문");
if(avg >= 60) {
System.out.println("D학점");
}
else if(avg >= 70) {
System.out.println("C학점");
}
else if(avg >= 80) {
System.out.println("B학점");
}
else if(avg >= 90) {
System.out.println("A학점");
}
else {
System.out.println("F학점. 학사경고");
}
}
}
if문에 빠질수 없는 또하나의 문법 else if문입니다. if문은 else if문을 위에서 부터 차례대로 검사합니다. 위에서 하나라도 참이 나오면 아래의 else if문은 검사하지 않고 다음 블럭으로 넘어가기됩니다.(중간에 if문이 있을경우에는 다음 블럭으로 인식하기 때문에 넘어가지 않고 if문부터 다시 차근차근 검사를 시작합니다.) 위에 학점 프로그램의 결과 값을 보면 좀 더 이해하기 쉽습니다.
결과 값
'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 제어문 - while문 (0) | 2020.10.07 |
---|---|
Java 기초 제어문 - switch문 (0) | 2020.10.07 |
Java 기초 제어문 - if문(2) (0) | 2020.10.07 |
Java 기초 제어문 - if문(1) (0) | 2020.10.07 |
Java 기초 연산자 - 비트 시프트 연산자 (0) | 2020.10.06 |