>  기사  >  Java  >  자바 스터디 노트(소개)_다중 선택 구조 스위치 문

자바 스터디 노트(소개)_다중 선택 구조 스위치 문

黄舟
黄舟원래의
2016-12-19 14:03:031821검색

다중 선택 구조 스위치 문
Java에서는 다방향 분기 선택 과정을 위해 특별히 스위치 문을 제공합니다. 스위치 문은 표현식의 값에 따라 여러 작업 중 하나를 선택합니다. 문법적 형태는 다음과 같습니다.

witch(表达式){ 
case 表达式常量1:语句1; 
break; 
case 表达式常量2:语句2; 
break; 
...... 
case 表达式常量n:语句n; 
break; 
[default:语句n+1;] 
}

그 중 케이스 표현 상수는 레이블이 되어 케이스 분기의 입구를 나타냅니다. 스위치 문이 실행되면 먼저 스위치 괄호 안의 "표현식" 값을 계산합니다. 이 값은 정수 또는 문자 유형이어야 하며, 동시에 각 후속 케이스 표현식 상수의 값 유형은 동일해야 합니다. 스위치 괄호의 "표현식"으로 값 유형이 일관됩니다. Case 문은 공식화 작업을 나타내고 구조의 출구로 이동합니다. 기본 절은 선택 사항입니다. 표현식의 값이 케이스 표현식 상수의 값과 일치하지 않으면 기본 절이 실행되고 구조가 종료됩니다.
마지막으로 스위치에 관해 주의해야 할 몇 가지 중요한 사항에 대해 이야기하겠습니다.

먼저 스위치(정수 또는 문자변수) ) 변수의 유형은 본문에 표시된 것과 같으며 정수형과 문자형만 가능합니다. 여기에는 int, char이 포함되어 있습니다. 물론 부호 없는 유형이나 길이가 다른 정수(부호 없는 정수, 짧은, 부호 없는 char) 등이 있습니다. 또한 열거형(enum)도 내부적으로 정수형이나 문자형으로 구현됩니다. 그러니 그것도 괜찮습니다. 다음과 같은 실수 유형(부동 소수점) 숫자는 작동하지 않습니다.

float a = 0.123; 
switch(a) //错误!a不是整型或字符类型变量。 
{ 
.... 
}

두 번째, 사례 뒤에는 예에서 1, 2, 3, 4와 같은 직접 상수 값이 올 수 있습니다. 2+2 등과 같은 상수 계산 공식을 사용할 수 있지만 변수 또는 * 2 등과 같은 변수가 있는 표현식은 사용할 수 없습니다. 물론 4.1이나 2.0/2 등과 같은 실수일 수는 없습니다.

switch(formWay) 
{ 
case 2-1 : //正确 
... 
case a-2 : //错误 
... 
case 2.0 : //错误 
... 
}

그리고 대소문자 및 상수 값 뒤에는 콜론이 필수이므로 무시하지 않도록 주의하세요.

셋째, break의 기능입니다. break를 사용하면 프로그램이 선택한 분기를 실행한 후 전체 switch 문에서 점프하고(즉, 스위치에 연결된 {} 쌍으로 점프) 전환을 완료할 수 있습니다. 이 중단이 없으면 프로그램은 후속 중단을 만나거나 전환이 완료될 때까지 다음 분기로 계속 진행됩니다.
예를 들어, 프로그램이 이제 케이스 1의 브랜치에 진입했지만 케이스 1의 브랜치가 이번에는 중단되지 않는다고 가정해 보겠습니다.
이 웹 사이트를 방문했습니다." 그 후 "당신은 다음을 통해 이 웹 사이트를 방문했습니다." 친구 소개'가 계속 출력됩니다.

case 1 : 
System.out.println("您是通过搜索引擎来到本网站的。"); 
case 2 : 
System.out.println("您是通过朋友介绍来到本网站的。"); 
 
넷째, 기본값은 선택 사항입니다. 이전에 이미 그 사용법을 언급했으며, 기본값이 없으면 프로그램은 일치하는 케이스 분기를 찾을 수 없는 후 스위치 문 범위 내에서 아무 작업도 수행하지 않습니다. 스위치를 직접. 또한 예제의 기본 코드를 주석 처리한 후 테스트 실행하고 선택 시 사용자 지정 코드를 입력할 수도 있습니다.


다섯째, 필요한 경우 각 경우에 {}를 사용하여 독립적인 복합 명령문을 명시적으로 생성할 수 있습니다. 이전에 if... 문과 기타 흐름 제어 문에 대해 이야기했을 때 {}를 사용하여 복합 문을 생성했습니다.


분기에 정확히 하나의 문이 없으면 여기서 중괄호는 필요하지 않습니다. .{}. 그러나 switch의 각 케이스 문에서는 문법 형식으로 {{}의 사용을 표시하지 않습니다.

if (条件) 
{ 
分支一; 
}

일반 교과서에서는 케이스 분기에서 {}를 사용할 필요가 없다고만 말합니다. 하지만 여기서는 어떤 상황에서도 케이스 브랜치가 {}를 추가할 필요가 없다는 점을 모두에게 상기시키고 싶습니다. 예를 들어 특정 경우에 변수를 정의하려는 경우:

switch ( 整型或字符型变量 ) 
{ 
 case 变量可能值1 : 
  分支一; 
 break; 
case 变量可能值2 : 
.... 
} 
 

이 경우에는 다음과 같습니다. , {}를 추가하면 문제를 해결할 수 있습니다.

switch (formWay) 
{ 
case 1 : 
int a=2; //错误。由于case不明确的范围,编译器无法在此处定义一个变量。 
... 
case 2 : 
... 
} 
 

마지막으로 예제 프로그램을 살펴보세요.

switch (formWay) 
{ 
case 1 : 
 {  
int a=2; //正确,变量a被明确限定在当前{}范围内。 
... 
 }  
case 2 : 
... 
}

위는 Java 학습 노트(소개)_다중 선택 구조 스위치 문 내용입니다. 내용이 궁금하시다면 PHP 중국어 넷(www.php.cn)을 주목해주세요!

public class TestSwitch //基于字符型 
{ 
public static void main(String[] args) 
{ 
//声明变量score,并为其赋值为'C' 
char score = 'C'; 
//执行swicth分支语句 
switch (score) 
{ 
case 'A': 
System.out.println("优秀."); 
break; 
case 'B': 
System.out.println("良好."); 
break; 
case 'C': 
System.out.println("中"); 
break; 
case 'D': 
System.out.println("及格"); 
break; 
case 'F': 
System.out.println("不及格"); 
break; 
default: 
System.out.println("成绩输入错误"); 
} 
} 
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.