Dev/Java
Java - 조건문 ( Else If )
surimi🍥
2020. 8. 11. 11:43
반응형
// 만약 체크해야 하는 조건식이 여러개면
// 즉 결과가 여러개로 나뉩다면
// if-else 구조로는 2개밖에 핸들링 할 수 없기 때문에
// if-else if-else 구조가 나와야 한다.
// 가운데의 else if는 우리가 필요한 만큼 넣어줄 수 있다.
// if-else 처럼
// if-else if 구조에서는 가장 먼저 조건식을 만족하는 코드 블락이 실행된다.
public class Ex04IfElseIf {
public static void main(String[] args) {
int age = 8;
if (age < 6) {
System.out.println("유아입니다.");
} else if (age <= 13) {
System.out.println("어린이 입니다.");
} else if (age < 18) {
System.out.println("청소년 입니다.");
} else {
System.out.println("성인 입니다.");
char a = 65;
System.out.println(a);
}
System.out.println("프로그램 종료");
}
}
더보기
어린이 입니다.
프로그램 종료
package day02;
// 사용자로부터 점수를 입력받아서
// 90~: A
// 80~: B
// 70~: C
// 60~: D
// 0~: F
// 가 출력되는 프로그램을 작성하세요.
import java.util.Scanner;
public class Ex05IfElseIf2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("점수를 입력해주세요: ");
int score = scanner.nextInt();
// 아래 if else 구조는
// 잘못된 값을 입력하면 잘못된 결과를 내보낸다.
// 예)15만점은 A, -450점은 F
// 항상 우리가 코딩을 할 때 이렇게 잘못된 점수에 대해
// 대처방안이 필요하다.
System.out.println("데이터 인풋 검증이 되지 않은 if else 구조");
if (score >= 90) {
System.out.println("A");
} else if (score >= 80) {
System.out.println("B");
} else if (score >= 70) {
System.out.println("C");
} else if (score >= 60) {
System.out.println("D");
} else {
System.out.println("F");
}
System.out.println("------------------------------");
// 대처방안에는 2가지 방법이 가능한데
// 먼저 조건식을 빡빡하게 잡는 방법이 있다.
System.out.println("조건식을 빡빡하게 잡는 방법");
if (score >= 90 && score <= 100) {
System.out.println("A");
} else if (score >= 80 && score <= 89) {
System.out.println("B");
} else if (score >= 70 && score <= 79) {
System.out.println("C");
} else if (score >= 60 && score <= 69) {
System.out.println("D");
} else if (score >= 0 && score <= 59) {
System.out.println("F");
} else {
System.out.println("잘못 입력하셨습니다.");
}
System.out.println("----------------------------");
// 두번째 방법은
// 중첩 if문(nested if)을 사용해서
// 데이터가 올바를 때에만 출력하는 if-else 구조를 실행하고
// 올바르지 않으면 경고 메시지를 출력하는 방법이다.
// 이 방법의 장점은
// 데이터가 유효할때에만 if-else가 실행되기 때문에
// 조건식을 빡빡하게 잡지 않아도 된다.
// 중첩 if 문의 구조는
// if 문 코드 블락에
// 새로운 if문이 들어가는 형식이다.
System.out.println("데이터 선검증하기");
if (score >= 0 && score <= 100) {
// 올바른 점수이므로 점수 출력 if-else를 적어준다.
if (score >= 90) {
System.out.println("A");
} else if (score >= 80) {
System.out.println("B");
} else if (score >= 70) {
System.out.println("C");
} else if (score >= 60) {
System.out.println("D");
} else {
System.out.println("F");
}
}
else {
// 올바르지 않은 점수이므로 경고 메시지만 출력한다.
System.out.println("올바르지 않은 점수입니다.");
}
scanner.close();
}
}
더보기
점수를 입력해주세요: 1500
데이터 인풋 검증이 되지 않은 if else 구조
A
------------------------------
조건식을 빡빡하게 잡는 방법
잘못 입력하셨습니다.
----------------------------
데이터 선검증하기
올바르지 않은 점수입니다.
점수를 입력해주세요: 60
데이터 인풋 검증이 되지 않은 if else 구조
D
------------------------------
조건식을 빡빡하게 잡는 방법
D
----------------------------
데이터 선검증하기
D
반응형