어떤 조건중에 하나를 선택해야 할 때 유용한 기법이다

if ~else 구문보다 편하고 깔끔하게 처리 할 수 있다.

단 한번의 연산(혹은 변수)으로 특정한 경우 하나를 선택한다.

if 조건문과 차이

9F4EF0DD-46AF-4E4F-8DC2-ABA503FF7A5E.jpeg

기본 예제

package com.java.control.switch_;

import java.util.Scanner;

public class Switch01 {

	public static void main(String[] args) {
		// 제어문 >switch ~case(입력값을 출력값 연결)
		System.out.println("다음중 가장 종아하는 계절을 선택하시오.");
		System.out.println("1.봄 2.여름 3.가을  4.겨울");
		Scanner scan = new Scanner(System.in);

		int season = scan.nextInt();

		switch (season) {

		case 1:
			System.out.println("나는 봄을 좋아합니다.");
			break;
		case 2:
			System.out.println("나는 여름을 좋아합니다.");
			break;
		case 3:
			System.out.println("나는 가을을 좋아합니다.");
			break;
		case 4:
			System.out.println("나는 겨울을 좋아합니다.");
			break;
		default:  //예외 처리 구문
			System.out.println("1번부터 4번까 중에 선택해서 ,다시 입력 하세요");
		}

	}

}

package com.java.control.switch_;

import java.util.Scanner;

public class Switch02 {

	public static void main(String[] args) {
		// Switch 구문을 이용해서 성적 산출 프로그램 작성하시오.
		int score = 0;

		Scanner scan = new Scanner(System.in);

		System.out.print("성적을 입력하세요 :");
		score = scan.nextInt();
       //아래에 Switch구문을 이용해서 만드세요
			
		if (0 <= score && score <= 100) {

			score=score/10; //94,98->9,100->10
			switch(score) { //정수(1~10),문자,문자열
			
			case 10:
			case 9:
				System.out.println("A학점 입니다.");
				break;
			case 8:
				System.out.println("B학점 입니다.");
				break;
			case 7:
				System.out.println("C학점 입니다.");
				break;
			case 6:
				System.out.println("D학점 입니다.");
			default:
				System.out.println("F학점 입니다.");
			}

//			// if ~else if ~else
//			if (90 <= score && 100 >= score) {
//				System.out.println("A학점 입니다.");
//			}
//			
//			else if (80 <= score && 90 > score){
//				System.out.println("B학점 입니다.");
//			}
//			
//			else if (70 <= score && 80 > score){
//				System.out.println("C학점 입니다.");
//			} 
//			
//			else if (60 <= score && 70 > score){
//				System.out.println("D학점 입니다.");
//			} 
//			
//			else {
//				System.out.println("F학점 입니다.");
//			}

			
		} else {
			System.out.println("점수를 다시 입력하세요");
		}
		
		
		
	}

}
package com.java.control.switch_;

import java.util.Scanner;

public class Switch02 {

	public static void main(String[] args) {
		// Switch구문을 이용해서 성적 산출 프로그램을 작성하시오.
		int score = 0;

		Scanner scan = new Scanner(System.in);

		System.out.print("성적을 입력하세요 :");
		score = scan.nextInt();

	//	if (0 <= score && score <= 100) {

			**score = score / 10;// 94,95 -> 9, 100->10**

			switch (score) { // 정수(1~10),문자,문자열, 실수 X, 조건식(비교) X

			case 10:
				// System.out.println("A학점 입니다.");
			case 9:
				System.out.println("A학점 입니다.");
				break;
			case 8:
				System.out.println("B학점 입니다.");
				break;
			case 7:
				System.out.println("c학점 입니다.");
				break;
			case 6:
				System.out.println("D학점 입니다.");
				break;
			**case 5: case 4: case 3: case 2: case 1: case 0:
				System.out.println("F학점 입니다.");
				break;
			default:
				System.out.println("점수를 다시 입력하세요");**
			}

//		} else {
//			System.out.println("점수를 다시 입력하세요");
//		}

	}// main

}