switch문

2023. 1. 19. 10:26java

**만족하고자 하는 조건이 특정값으로 정해져 있으면 switch case문

그 조건이 범위면 if문 활용이 편리하다

switch(변수) {
	case (조건):
    	System.out.println( );  //변수가 ()일 때 
        break;
    case (조건):
    	System.out.println( );  //변수가 ()일 때
        break;    
    case (조건):
    	System.out.println( );  //변수가 ()일 때
        break;    //마지막 case에는 break 생략
}
public class Switch01 {
    public static void main(String[] args) {
        int num = 2;
        //switch문의 ()안의 변수가 일치하는 case부터 코드 해석.
        switch(num) {
            case 1 :
                System.out.println(1);
                break;     //break문이 실행되면 다음 코드를 진행하지 않음
            case 2 :
                System.out.println(2);
                break;
            case 3 :
                System.out.println(3);
                break;

        }
    }
}

break가 없으면 조건이 만족하는 실행문부터 끝까지 실행함.

public class Switch02 {
    public static void main(String[] args) {
        String name = "남자";

        switch (name) {
            case "남자" :
                System.out.println("남자");
                break;
            case "여자" :
                System.out.println("여자");
                break;
            default :    //if문의 else와 동일
                System.out.println("잘못된 데이터");
        }
    }
}

문제

점수에 대한 등급을 출력하는 프로그램을 완성해보자.
90 <= 점수 <= 100  A
80 <= 점수 <90   B
70 <= 점수 <80   C
점수 < 70   D

**tip : 10의 자리 수를 알고 싶으면 변수 / 10 하면 알 수 있다! 

1의 자리는 변수 %  10

 

내가 푼 것

public class Switch03 {
    public static void main(String[] args) {
        int score = 89;
        switch (score / 10) {
            case 10, 9:
                System.out.println("A");
                break;
            case 8:
                System.out.println("B");
                break;
            case 7:
                System.out.println("C");
                break;
            default:
                System.out.println("D");
        }
    }
}

새로운 코딩법

아래처럼 간략화 할 수 있다.

문제

주민등록번호의 7번째 자리 값으로 성별을 구분하는 프로그램.
7번째 숫자가 1 혹은 3이면 "남자"라고 출력
7번째 숫자가 2 혹은 4이면 "여자"라고 출력
위의 조건이 아니면 "잘못 입력되었습니다." 출력
scanner를 사용해서 7번째 자리를 입력받아 문제를 해결하시오.

 

내가 푼 것

import java.util.Scanner;

//주민등록번호의 7번째 자리 값으로 성별을 구분하는 프로그램.
//7번째 숫자가 1 혹은 3이면 "남자"라고 출력
//7번째 숫자가 2 혹은 4이면 "여자"라고 출력
//위의 조건이 아니면 "잘못 입력되었습니다." 출력
//scanner를 사용해서 7번째 자리를 입력받아 문제를 해결하시오.
public class Switch04 {
    public static void main(String[] args) {
        int num;
        Scanner sc = new Scanner(System.in);

        System.out.println("주민등록번호 7번째 자리를 입력하시오.");
        num = sc.nextInt();
        switch(num) {
            case 1,3 :
                System.out.println("남자");
                break;
            case 2,4 :
                System.out.println("여자");
                break;
            default:
                System.out.println("잘못 입력되었습니다.");
        }
    }
}

'java' 카테고리의 다른 글

문자열 비교  (0) 2023.01.19
369 게임 프로그램 만들어 보기  (0) 2023.01.19
연습  (0) 2023.01.18
키보드 입력 scanner 사용  (0) 2023.01.18
조건문 if  (0) 2023.01.18