본문 바로가기
자바

자바 switch 문 [북붙따라하기]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2020. 12. 27.

사용 예제)

아래의 코드 복붙 해서 실행해 보세요. 설명은 예제 아래부터 입니다.

------------------------------------------

import java.util.Scanner;

public class Sample {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);	//입력 받기 위해 스캐너 생성
        
        System.out.print("Enter Number : ");
        int nNum = scanner.nextInt();  // 엔터가 입력될때 까지 입력 받는다. 
                                       //문자열을 입력 받을때는 String strC = scanner.nextLine();
        
        switch(nNum) {
        	case 1 :{	//입력한 숫자가 1 일때 실행
        		System.out.println("1을 입력 하였습니다.");
        		break;	
        	}
        	case 2 :{	//입력한 숫자가 2 일때 실행
        		System.out.println("2을 입력 하였습니다.");
        		break;
        	}
        	case 3 :{	//입력한 숫자가 3 일때 실행
        		System.out.println("3을 입력 하였습니다.");
        		break;
        	}
        	case 4 :{	//입력한 숫자가 4 일때  실행
        		System.out.println("4을 입력 하였습니다.");
        		break;
        	}default :{	//입력한 숫자가 1,2,3,4, 즉 위에서  지정한 case외의 값이 들어 올때 실행
        		System.out.println("1,2,3,4 가 아닌 숫자입니다.");
        		break;
        	}
        	
        }
        
    }
}

 

------------------------------------------------------

 

 

 

 

구성

-----------------------------------------------------

 

switch(변수){
	case 1: {
    	1일때 실행한 부분;
        break;
	}case 2: {
    	2일때 실행한 부분;
        break;
	}case 3: {
    	3일때 실행한 부분;
        break;
	}case 4: {
    	4일때 실행한 부분;
        break;
	}default : {
    	위 case문 외의 경우에 실행될 부분(보통 에러메세지 출력);
        break;
    }
}    

 

-------------------------------------------------------------------------

 

Switch 문은 조건문 중에 하나 입니다.잘사용하는 편은 아닌데 한번씩은 정말 유용하게 사용 하는 조건문입니다.

각  case 마다 꼭 break;문을 넣어줘야 됩니다.

 

다시 설명하겠지만 break ; 문은 현재 소속되어있는 반복문을 탈출할 때 사용하는 겁니다.

지금 Switch 문에 break; 문을 사용하지 않으면 해당되는 case부터 시작해서 끝까지 다 실행합니다.

잊어버리지 마시고 꼭 사용해 주세요.

 

아래는 실전 예제입니다.

 

		switch (nFlag) {

		case 1: {
			System.out.println("SvrFileSave---------nFlag 1 케이스문 1 : 업무일지 실행");

			strFilename = strAllData.substring(10, 22);

			// System.out.printf("if in : 수정한 파일의 이름은 %s \n", strFilename);
			String strDir = strAllData.substring(5, 10);
			// System.out.printf("if in : 수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/ilji/daily/" + strDir;
			// System.out.println("SvrFileSave--strdir" + strDir);
			// System.out.println("SvrFileSave--strLastDir" + strLastDir);
			break;
		}

		// 수정된 사원정보처리
		case 2: {
			System.out.println("SvrFileSave--------nFlag 2 케이스문 2 : 사원정보, 실행");
			strFilename = "sawon";
			// System.out.printf("SvrFileSave--수정한 파일의 이름은 %s \n", strFilename);
			String strDir = "setup";
			// System.out.printf("SvrFileSave--수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/" + strDir;
			strAllData = strAllData.substring(5); // 앞부분의 idedt를 잘라냄
			// System.out.println("SvrFileSave--strLastDir : " + strLastDir);
			break;
		}

		// 수정된 거래처정보처리
		case 3: {
			System.out.println("SvrFileSave--------nFlag 3 케이스문 3 : 거래처정보 실행");
			strFilename = "sitename";
			// System.out.printf("SvrFileSave--수정한 파일의 이름은 %s \n", strFilename);
			String strDir = "setup";
			// System.out.printf("SvrFileSave--수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/" + strDir;
			strAllData = strAllData.substring(5); // 앞부분의 sitee를 잘라냄
			// System.out.println("SvrFileSave--strLastDir : " + strLastDir);
			break;
		}
		// 수정된 공지사항 정보처리
		case 4: {
			System.out.println("SvrFileSave--------nFlag 4 공지사항 케이스문 4실행");
			strFilename = "notice";
			// System.out.printf("SvrFileSave--수정한 파일의 이름은[ %s ] \n", strFilename);
			String strDir = "setup";
			// System.out.printf("SvrFileSave--수정한 디렉토리의 이름은 [ %s ] \n", strDir);
			strLastDir = "c:/diary/server/" + strDir;
			strAllData = strAllData.substring(5); // 앞부분의 noedt를 잘라냄
			// System.out.println("SvrFileSave--strLastDir : " + strLastDir);
			break;
		}
		// 수정요청으로 들어온 파일의 내용을 기존 파일은 지우고 새로운 파일을 출력하는 부분
		case 5: {
			System.out.println("SvrFileSave--------nFlag 5 수정요구파일로저장 케이스문 5실행");
			// strFilename = strAllData.substring(15, 27);
			strFilename = strAllData.substring(10, 22);
//88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
			// System.out.printf("case 5 : 수정한 파일의 이름은 %s \n", strFilename);
			String strDir = strAllData.substring(5, 10);
			// String strDir = strAllData.substring(10, 15);
			// System.out.printf("case 5 : 수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/ilji" + strDir;
			// System.out.println("SvrFileSave--strdir" + strDir);
			// System.out.println("SvrFileSave--strLastDir" + strLastDir);
			break;
		}
		case 6: {
			// 01234 56789 0123 45678 90123456 7890 1
			// wek01 00001 2020 111
			System.out.println("SvrFileSave---------nFlag 6 케이스문 6 : 주간업무일지 실행");

			strFilename = strAllData.substring(10, 14) + strAllData.substring(14, 17);

			// System.out.printf("if in : 수정한 파일의 이름은 %s \n", strFilename);
			String strDir = strAllData.substring(5, 10);
			// System.out.printf("if in : 수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/ilji/week/" + strDir;
			// System.out.println("SvrFileSave--strdir" + strDir);
			// System.out.println("SvrFileSave--strLastDir" + strLastDir);
			break;
		}
		// 새로운 사원정보 등록
		case 7: {
			System.out.println("SvrFileSave--------nFlag 7 케이스문 7 : 새로운 사원정보, 실행");
			strFilename = "newsawon";
			// System.out.printf("SvrFileSave--수정한 파일의 이름은 %s \n", strFilename);
			String strDir = "setup";
			// System.out.printf("SvrFileSave--수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/" + strDir;
			strAllData = strAllData.substring(5); // 앞부분의 sareg를 잘라냄
			// System.out.println("SvrFileSave--strLastDir : " + strLastDir);
			break;
		}
		// 새로운 사원정보 수정
		case 8: {
			System.out.println("SvrFileSave--------nFlag 8 케이스문 8 : 새로운 사원정보, 실행");
			strFilename = "newsawon";
			// System.out.printf("SvrFileSave--수정한 파일의 이름은 %s \n", strFilename);
			String strDir = "setup";
			// System.out.printf("SvrFileSave--수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/" + strDir;
			strAllData = strAllData.substring(5); // 앞부분의 saedt를 잘라냄
			// System.out.println("SvrFileSave--strLastDir : " + strLastDir);
			break;
		}
		// 새로운 사원정보 삭제
		case 9: {
			System.out.println("SvrFileSave--------nFlag 9 케이스문 9 : 새로운사원정보삭제, 실행");
			strFilename = "newsawon";
			// System.out.printf("SvrFileSave--수정한 파일의 이름은 %s \n", strFilename);
			String strDir = "setup";
			// System.out.printf("SvrFileSave--수정한 디렉토리의 이름은 %s \n", strDir);
			strLastDir = "c:/diary/server/" + strDir;
			strAllData = strAllData.substring(5); // 앞부분의 idedt를 잘라냄
			// System.out.println("SvrFileSave--strLastDir : " + strLastDir);
			break;
		}

		default: {// System.out.printf("SvrFileSave--정의 되지 않은 플래그 입니다. .\n스위치문 디폴트 실행됨 \n");
			break;
		}
		
	}// 스위치문 끝

 

설명 끝  감사합니다.

 

 

 

 

 

 

 

 

728x90
반응형

댓글