사용 예제)
아래의 코드 복붙 해서 실행해 보세요. 설명은 예제 아래부터 입니다.
------------------------------------------
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
반응형
'자바' 카테고리의 다른 글
자바 while 문 [북붙따라하기] (0) | 2020.12.28 |
---|---|
자바 for 문 [북붙따라하기] (0) | 2020.12.28 |
자바 if 문 [북붙따라하기] (2) | 2020.12.27 |
자바 3항 연산자 [북붙따라하기] (0) | 2020.12.27 |
자바 연산자 [김철수홍길동] (0) | 2020.12.27 |
댓글