java switch case statement with programming examples
간단한 예제를 통해 Java Switch 문, Nested Switch, 기타 변형 및 사용법에 대해 알아보십시오.
이 자습서에서는 Java Switch 문에 대해 설명합니다. 여기에서는 프로그래밍 예제 및 설명과 함께 Switch 문과 관련된 모든 개념을 탐색합니다.
주제를 더 잘 이해할 수 있도록 충분한 예제가 제공되고 Switch 문을 사용해야 할 때마다 프로그램을 만들 수 있습니다.
자주 묻는 질문 중 일부가 포함되어있어 Switch 문과 관련하여 자주 묻는 질문을 알 수 있습니다.
=> 여기에서 Java Beginners Guide를 살펴보십시오.
학습 내용 :
소프트웨어 엔지니어링의 소프트웨어 품질 보증
자바 스위치 문
이 자습서에서는 다음과 같은 Java Switch 문 변형을 다룰 것입니다.
- Switch 문
- 중첩 된 스위치 문 (내부 및 외부 스위치)
Java의 Switch 문은 표현식 또는 조건의 값을 기반으로하는 여러 케이스 또는 부분에서 코드를 실행하는 방법을 제공하는 분기 문 또는 의사 결정 문입니다. 그보다 더 자주 Java Switch 문은 Java if-else 문에서 사용할 수있는 다양한 옵션보다 더 나은 대안을 제공합니다.
통사론:
switch (expression){ case 1: //statement of case 1 break; case 2: //statement of case 2 break; case 3: //statement of case 3 break; . . . case N: //statement of case N break; default; //default statement }
Switch 문 규칙
다음은 Switch 문에 대한 중요한 규칙입니다.
- 중복 케이스 또는 케이스 값은 허용되지 않습니다.
- Switch 케이스의 값은 Switch 케이스 변수와 동일한 데이터 유형이어야합니다. 에 대한 예 : – 'x'가 '스위치 (x)'에서 정수 유형이면 모든 스위치 케이스는 정수 유형이어야합니다.
- 그만큼 Java break 문 케이스 내부의 실행 파일 시퀀스를 종료하는 데 사용할 수 있습니다 (선택 사항).
- 기본 문도 선택 사항입니다. 일반적으로 Switch 문의 끝에 있습니다. Switch 변수의 값과 일치하는 Switch 케이스가 없으면 default 문이 실행됩니다.
- Switch 케이스의 값은 변수가 아닌 상수 여야합니다.
For 루프를 사용하여 케이스 전환
다음은 Java Switch 문이 어떻게 작동하는지 또는 프로그램에서 사용될 수 있는지를 보여주는 예제 프로그램입니다. 먼저 for 루프 내부의 'i'값을 초기화하고 조건을 지정했습니다.
그런 다음 두 개의 케이스와 하나의 기본값으로 Switch 문을 구현했습니다. 기본 문은“i<5”. In this case, it will execute 2 times for “i=3” and “i=4”.
public class example { public static void main(String() args) { /* * Switch statement starts here. Added three cases and * one default statement. The default statement will * keep on executing until i<5. In this case, it will * execute 2 times for i=3 and i=4. */ for(int i=0; i<5; i++) { switch(i){ case 0: System.out.println('i value is 0'); break; case 1: System.out.println('i value is 1'); break; case 2: System.out.println('i value is 2'); break; default: System.out.println('i value is greater than 2 and less than 5'); } } } }
산출:
휴식은 선택 사항입니다
Switch case Java에서 break 문은 선택 사항입니다. 브레이크를 제거해도 프로그램의 제어는 다음 케이스로 넘어갑니다.
다음 예를 살펴 보겠습니다.
public class example { public static void main(String() args) { /* * Switch statement starts here. Added 10 cases and * one default statement. Execution will flow through * each of these cases case 0 to case 4 and case 5 to * case 9 until it finds a break statement. */ for(int i=0; i<=10; i++) { switch(i){ case 0: case 1: case 2: case 3: case 4: System.out.println('i value is less than 5'); break; case 5: case 6: case 7: case 8: case 9: System.out.println('i value is less than 10'); break; default: System.out.println('Default statement'); } } } }
산출
중첩 된 스위치 문
여기에는 내부 및 외부 스위치의 개념이 포함됩니다. 내부 Switch를 외부 Switch 문의 일부로 사용할 수 있습니다. 이러한 유형의 Switch 문을 Nested Switch 문이라고하며 Switch (Outer) 내부의 Switch (Inner)를 Nested Switch라고합니다.
통사론:
switch (count){ case 1: switch (target){ //nested switch statement case 0: System.out.println(“target is 0”); break; case 1: System.out.println(“target is 1”); break; } break; case 2: //… }
중첩 스위치를 사용하여‘a’및‘b’찾기
아래 예에서는 Scanner 클래스를 사용하여 콘솔을 통해‘a’와‘b’를 입력했습니다. 그런 다음 'a'와 'b'의 값에 대해 서로 다른 케이스를 배치하기 위해 내부 및 외부 스위치를 사용했습니다.
컨트롤은 이러한 내부 및 외부 Switch 문을 통과하며 입력 된 값이 일치하면 값을 인쇄합니다. 그렇지 않으면 기본 명령문이 인쇄됩니다.
import java.util.Scanner; public class example { public static void main(String() args) { int a,b; System.out.println('Enter a and b'); Scanner in = new Scanner(System.in); a = in.nextInt(); b = in.nextInt(); // Outer Switch starts here switch (a) { // If a = 1 case 1: // Inner Switch starts here switch (b) { // for condition b = 1 case 1: System.out.println('b is 1'); break; // for condition b = 2 case 2: System.out.println('b is 2'); break; // for condition b = 3 case 3: System.out.println('b is 3'); break; } break; // for condition a = 2 case 2: System.out.println('a is 2'); break; // for condition a == 3 case 3: System.out.println('a is 3'); break; default: System.out.println('default statement here'); break; } } }
산출
문자열을 사용한 Switch 문
JDK 7.0 이상에서는 Switch 표현식 또는 조건에서 String 객체를 사용할 수 있습니다.
다음은 Switch 문에서 문자열을 사용한 예입니다. 정수처럼 Switch 문에서 문자열을 사용할 수 있습니다.
import java.util.Scanner; public class example { public static void main(String() args) { String mobile = 'iPhone'; switch (mobile) { case 'samsung': System.out.println('Buy a Samsung phone'); break; case 'iPhone': System.out.println('Buy an iPhone'); break; case 'Motorola': System.out.println('Buy a Motorola phone'); } } }
산출
Switch 문의 래퍼
JDK 7.0 이상에서는 Switch 문이 Wrapper 클래스와 함께 작동합니다. 여기에서는 Switch 문에서 Java Wrapper를 시연합니다.
아래 예제에서 우리는 객체에서 원시 유형 int의 값을 래핑하는 Integer 클래스를 사용했습니다. 이 클래스를 사용하여 값 3으로 래퍼 변수 'x'를 초기화했습니다.
래퍼 변수 (Switch 문 내부)를 사용하여 하나의 기본 케이스와 함께 세 가지 다른 케이스를 정의했습니다. 'x'값과 일치하는 케이스가 무엇이든 해당 케이스가 실행됩니다.
public class example { public static void main(String() args) { // Initializing a Wrapper variable Integer x = 3; // Switch statement with Wrapper variable x switch (x) { case 1: System.out.println('Value of x = 1'); break; case 2: System.out.println('Value of x = 2'); break; case 3: System.out.println('Value of x = 3'); break; // Default case statement default: System.out.println('Value of x is undefined'); } } }
산출
Switch 문에서 Java 열거 형
JDK 7.0 이상에서 Switch 문은 Java 열거와 잘 작동합니다. 이 섹션에서는 switch 문에서 Java 열거 형을 보여줍니다.
여기에서는 기본적으로 신발 브랜드 인 4 개의 상수가있는 shoes라는 열거 형을 만들었습니다. 그런 다음 참조 변수 a1에 열거자를 저장했습니다.
참조 변수 a1을 사용하여 네 가지 사례로 Switch 문을 초기화했습니다. 참조 변수 값과 일치하는 케이스가 무엇이든 해당 특정 케이스가 실행됩니다.
/* * created an enumeration called shoes * with four enumerators. */ enum shoes { Nike, Adidas, Puma, Reebok; } public class example { public static void main(String() args) { /* * stored enumerator in reference variable a1 for constant = Adidas */ shoes a1 = shoes.Adidas; /* * Started Switch Statement and if the element matches with a1 then it * will print the statement specified in the case */ switch (a1) { // does not match case Nike: System.out.println('Nike - Just do it'); break; // matches case Adidas: System.out.println('Adidas - Impossible is nothing'); break; // does not match case Puma: System.out.println('Puma - Forever Faster'); break; // does not match case Reebok: System.out.println('Reebok - I Am What I Am'); break; } } }
산출
자주 묻는 질문
Q # 1) Java Switch 문이란 무엇입니까?
대답: Java의 Switch 문은 다른 경우에 코드를 실행하는 방법을 제공하는 분기 문 또는 의사 결정 문 (Java if-else 문과 유사)입니다. 이러한 경우는 일부 표현 또는 조건을 기반으로합니다.
대부분의 경우 Java Switch 문은 Java if-else 문보다 의사 결정을위한 더 나은 대안으로 입증되었습니다.
Q # 2) Java에서 Switch 문을 어떻게 작성합니까?
대답: 다음은 Switch 문을 사용한 샘플 프로그램입니다. 여기에서는 값이 4 인 brand라는 정수를 가져 와서이 정수를 다른 경우에 대해 Switch 문에 사용했습니다.
브랜드의 정수 값이 케이스와 일치하면 해당 케이스의 설명이 인쇄됩니다.
import java.util.Scanner; public class example { public static void main(String() args) { int brand = 4; String name; // Switch statement starts here switch(brand){ case 1: name = 'Nike'; break; case 2: name = 'Dolce & Gabbana'; break; case 3: name = 'Prada'; break; case 4: name = 'Louis Vuitton'; break; default: name = 'Invalid name'; break; } System.out.println('The brand name is: ' + name); } }
산출
Q # 3) Switch 문 예제를 제공하십시오.
대답: 이 자습서에는 Switch 문의 예제가 많이 있습니다. 정수로 전환하거나 문자열로 전환하는 가능한 모든 예제를 제공했습니다.
이 자습서의 시작 부분에 제공된 예제를 참조하여 Switch 문의 기본 사항과 루프와 함께 사용되는 방법을 알 수 있습니다. ( 'for 루프를 사용하여 케이스 전환'섹션 참조)
Q # 4) switch 문에 default case가 필요합니까?
대답: 아니요, Switch 문을 다룰 때마다 default case를 사용할 필요는 없습니다.
예를 들어, 기본 케이스를 사용하지 않은 아래의 예를 보면. 기본 대소 문자를 사용하지 않더라도 일치하는 대소 문자를 찾는 한 프로그램은 완벽하게 실행됩니다.
import java.util.Scanner; public class example { public static void main(String() args) { String author = 'Saket'; switch (author) { case 'John': System.out.println('John is the author'); break; case 'Michael': System.out.println('Michael is the author'); break; case 'Rebecca': System.out.println('Rebecca is the author'); break; case 'Saket': System.out.println('Saket is the author'); break; case 'Steve': System.out.println('Steve is the author'); break; } } }
산출
결론
이 자습서에서는 구문, 설명 및 순서도와 함께 Java Switch 문에 대해 설명했습니다. Nested Switch 문인 다른 변형도 내부 및 외부 Switch의 개념을 포함한 적절한 예제와 함께 자세히 설명합니다.
Java Switch 문과 관련된 최신 질문을 알 수 있도록 몇 가지 자주 묻는 질문도 여기에 제공됩니다. 이러한 의사 결정 문은 일부 조건이나 식에 따라 코드를 분리하고 여러 사례를 확인하려는 경우에 유용합니다.