JAVA/JAVA기초

[JAVA기초] Switch문

개발자하소서 2022. 1. 18. 12:59
728x90
반응형
SMALL

📌Switch문 

switch(변수){
        case 값1 : 
            실행문; 
            break;
        case 값2 : 
            실행문; 
            break;  
        default;    
    }

 

 - switch문은 여러 개의 가능한 실행 경로 중에서 하나를 선택하는 데 사용된다.

 

- 일치하는 case 절이 있으면 case 절의 문장들이 실행되다가 break문에 도달하면 종료된다.

 

break문이 없으면 선택된 case 절 안의 문장들을 실행한 다음, 계속해서 다음 case 절 문장을 실행하게 된다.

 

default 문은 어떤 case문과도 일치되지 않는 경우에 선택되어서 실행된다.

 

- default문은 없어도 되지만, 미처 예상치 못한 값을 알아내기 위해 포함시킨다. 

 

int value = 3;

    switch(value){
        case 1: 
            System.out.println("안녕하세요");
            break;
        case 2:
            System.out.println("반갑습니다");
            break;
        case 3 :
            System.out.println("어서오세요");
            break;
        default :
            System.out.println("모르겠군요");
    }
    
    //  value의 값이 3이므로 어서오세요가 출력된다

 

 


 

📍 예제 📍

- 1년의 각 달의 일수를 출력하는 프로그램을 작성해보자

- 특정 달이 입력되면 그 달의 일수를 출력한다. 

 

package javaBasic;

import java.util.Scanner; // Scanner 클래스를 사용하기 위해서는 추가해줘야함 

public class Basic {

	
	
	public static void main(String[] args) {
		
		// 1년의 각 달의 일수를 출력하는 프로그램을 작성한다.
		// 특정한 달을 scanner로 입력시켜서 특정 달이 입력되면 그 달의 일수를 출력한다 
		
		int month; // month라는 변수를 선언한다.
		int year = 2022; // year은 2022년으로 선언.
		int day =0; // day 변수를 0으로 선언 
		
		System.out.println("원하는 달을 입력하세요 ");
		Scanner sc = new Scanner(System.in); // 원하는 달을 키보드로 입력해라 
		// scanner 객체를 생성할때 
		// System.in은 입력한 값을 바이트 단위로 읽는 것을 의미한다 
		month = sc.nextInt();
		//scanner클래스의 메서드에는 
		// next() 메서드는 공백이전까지의 문자열을 입력받는 것을 의미한다
		// nextInt()메서드는 int형 정수를 입력받는 메서드이다 
		
		switch(month) {
		case 1: case 3: case 5:
		case 7: case 8: case 10: case 12: 
		// month가 이 달에 해당이 된다면 
		day = 31; // day는 31일이 출력이 된다 
		break; // break로 중단
		
		case 4: case 6: case 9: case 11:
		// month가 이달에 해당이 된다면 
		day = 30; // day는 30일 
		break; // break로 중단 
		
		
		case 2:
			if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
				// 윤년 계산식 
				day = 29; // 29일이 출력된다 
			else 
				day = 28; // 평년이라면 28이 출력된다 
			break;
			
		default:
			System.out.println("잘못된 달을 입력하였습니다 ");
			break;
 
		} 
		
		System.out.println("월의 수는 " + day);
		
	}
}

 

 

 

 

 

📍 [PowerJava/천인국,하상국] 을 참고하여 작성하였습니다

728x90
반응형
LIST