Java 기초 - 제어문 (Switch)

2020. 6. 4. 00:56·JAVA/JAVA 기초

C_Switch.java

package com.kh.chap01.condition;
import java.util.Scanner;

public class C_Switch {
		
	/*
	 *  if문 :
	 *  switch문 : 
	 *  
	 *  if문과의 차이점 : if문은 조건에 범위를 지정할 수 있었다고 한다면
	 *     			  switch문은 확실값의 조건이다. (동등비교와 같다)
	 *     
	 *  switch(비교할 대상자) {
	 *  case 값1 : 실행코드1; break; -> break; 를 꼭 넣어줘야 빠져나감. if문은 true만 실행되면 빠져나감
	 *  case 값2 : 실행코드2; break; 
	 *  case 값3 : 실행코드3; break;
	 *  ....
	 *  default : 위의 제시한 모든 값이 일치하지 않을 경우 실행할 코드;
	 *  }
	 *  
	 *  비교대상자==값1 의 조건이 true일 경우 실행코드1 수행되고 break 만나 빠져나감
	 *  switch문은 if-else if문과 달리 실행코드만을 실행하고 자동으로 빠져나가지 못함.
	 *  직접 break를 걸어줘야됨
	 *  
	 */
	
	public void method1() {
		// 사용자에게 1~3사이의 정수를 입력받아 그 정수값
		// 1일 경우 "빨간색입니다."
		// 2일 경우 "파란색입니다."
		// 3일 경우 "초록색입니다."
		// 잘못입력했을 경우	"잘못 입력했습니다."
		Scanner sc = new Scanner(System.in);
		
		System.out.print("1~3사이의 정수 : ");
		int num = sc.nextInt();
		/*
		if(num ==1) {
			System.out.print("빨간색입니다.");
		}else if(num == 2) {
			System.out.print("파란색입니다");
		}else if(num == 3) {
			System.out.print("초록색입니다");
		}else {
			System.out.print("잘못 입력했습니다");
		}
		*/
		
		String color = ""; //지역변수 초기화 습관들이기
		
		switch(num) {
		case 1: color = "빨간색"; break;
		case 2: color = "파란색"; break;
		case 3: color = "초록색"; break;
		default: System.out.println("잘못 입력하셨습니다."); return;
		} 
		
		System.out.println(color + "입니다.");
		
	}
	public void method2() {
		// 사용자에게 과일을 입력받은 후 그에 해당하는 가격 출력
		// xxx의 가격은 xxx원 입니다.
		
		// 사과 : 1000원
		// 바나나 : 3000원
		// 키위 : 5000원
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("과일(사과/바나나/키위) : ");
		String fruit = sc.nextLine();
		
		int price = 0;
		
		switch(fruit) {
		case "사과": price = 1000; break;
		case "바나나" : price = 3000; break;
		case "키위" : price = 5000; break;
		default: System.out.println("잘못 입력하셨습니다."); return;
		}
		
		System.out.println(fruit + "의 가격은 " + price + "원입니다.");
		//System.out.printf("%s의 가격은 %원입니다.", fruit, price);
		
	}
	
	// break 없는 switch문 예시
	public void method3() {
		
		// 등급(1,2,3)별 권한
		
		// 3등급 : 관리 권한, 글쓰기 권한, 읽기 권한
		// 2등급 : 글쓰기 권한, 읽기 권한
		// 1등급 : 읽기 권한
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("등급(1,2,3) 입력 : ");
		int level = sc.nextInt();
		
		switch(level) {
		case 3: System.out.println("나 관리 권한있어");
		case 2: System.out.println("나 글쓰기 권한있어");
		case 1: System.out.println("나 읽기 권한 있어"); break;
		default: System.out.println("잘못 입력하셨습니다.");
		} 
	}
	
	public void method4() {
		// 1 ~ 12월까지 입력받아 해당하는 달의 마지막 날짜를 출력
		
		// 1, 3, 5, 7, 8, 10, 12 => "입력하신 월은 31일까지 입니다."
		// 4, 6, 9, 11 			 => "입력하신 월은 30일까지 입니다."
		// 2					 => "입력하신 월은 28일 또는 29일까지 입니다."
		// 잘못 입력했을 경우 		 => "반드시 1월~12월까지를 입력해야됩니다."
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("1월 ~ 12월까지 중 하나를 입력하세요 : ");
		int month = sc.nextInt();
		
		/* if문
		if(month == 1 || month 3 ||
				month == 5 || month == 7 ||
					month == 8 || month == 10 || month == 12) {
			
		}else if(month == 4 || month == 6 || month == 9 || month == 11) {
			
		}else if(month == 2) {
			
		}else {
			
		}*/
			
		switch(month) {
		case 1: 
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12: System.out.println("입력하신 월은 31일까지 입니다."); break;
		case 4:
		case 6:
		case 9:
		case 11: System.out.println("입력하신 월은 30일까지 입니다."); break;
		case 2: System.out.println("입력하신 월은 28일 또는 29일까지 입니다"); break;
		default: System.out.println("반드시 1월 ~ 12월까지 입력해야됩니다.");
		}
		
		
		
		
		
		
		
		
		
	}
}

Point

if문은 범위를, switch문은 확실한 값을 지정하는 조건이다.

'JAVA > JAVA 기초' 카테고리의 다른 글

JAVA 기초 - 반복문 (while/do-while)  (0) 2020.06.04
JAVA 기초 - 반복문 (For)  (0) 2020.06.04
JAVA 기초 - 제어문 (If / Else)  (0) 2020.06.04
JAVA 기초 - 연산자(Operator) 실습예제  (0) 2020.05.31
JAVA 기초 - 형변환(Casting) 실습예제  (0) 2020.05.31
'JAVA/JAVA 기초' 카테고리의 다른 글
  • JAVA 기초 - 반복문 (while/do-while)
  • JAVA 기초 - 반복문 (For)
  • JAVA 기초 - 제어문 (If / Else)
  • JAVA 기초 - 연산자(Operator) 실습예제
꿀표
꿀표
양봉업자
  • 꿀표
    꿀로그
    꿀표
  • 전체
    오늘
    어제
    • 분류 전체보기 (82)
      • 인디해커 (0)
      • AI (0)
      • 프론트엔드 (34)
        • Javascript (17)
        • React (9)
        • Git (2)
        • Web Env (4)
        • Typescript (1)
        • 웹접근성 (1)
        • 상태관리 (0)
      • CS (8)
        • Network (3)
        • 알고리즘 (5)
      • 글쓰기 (3)
        • 생각 (2)
        • 서적 (1)
      • JAVA (37)
        • JAVA 기초 (22)
        • JSP (15)
  • 블로그 메뉴

    • 방명록
  • 인기 글

  • 태그

    구명보트
    js
    cross browsing
    network
    그리디
    greedy
    프로그래머스
    react
    알고리즘
    javascript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
꿀표
Java 기초 - 제어문 (Switch)
상단으로

티스토리툴바