기금넷 공식사이트 - 복권 조회 - Java 에서 switch 문을 사용하는 방법

Java 에서 switch 문을 사용하는 방법

Switch 문의 형식:

스위치 (정수 또는 문자 변수)

{

Case 변수에 사용할 수 있는 값은 1:

분기 1;

깨뜨리다

Case 변수에 사용할 수 있는 값은 2 입니다.

분기 2;

깨뜨리다

Case 변수에 사용할 수 있는 값은 3 입니다.

분기 iii;

깨뜨리다

...

기본값:

마지막 분기;

}

Switch 의 구문에서 우리는 switch, case, break, default 의 네 가지 키워드를 배워야 한다.

회로 스위치에서 변수는 정수 또는 문자일 수 있습니다. 프로그램은 먼저 이 변수의 값을 읽은 다음 각 "사례" 에서 이 변수와 같은 값을 찾습니다. 동일할 경우 조건이 참인 경우에도 프로그램은 break 또는 switch 문의 끝을 만날 때까지 해당 분기를 실행합니다.

Switch, case, break, default 의 의미를 알면 앞의 모든 것을 이해하는 데도 도움이 된다. 스위치, 상황, 인터럽트 및 기본값 (값) 입니다. 다음 문장은 인터럽트가 발생할 때까지 스위치 값에 따라 다른 상황을 수행한다는 것입니다. 모든 조건이 스위치 값을 충족하지 않을 경우 기본 분기가 수행됩니다.

마지막으로 switch 에서 매우 중요한 몇 가지 점을 말씀드리겠습니다.

첫째, switch (정수 또는 문자 변수) 에서 변수 유형은 이 문서에 표시된 대로 정수와 문자로만 지정할 수 있습니다. 여기에는 int, char 이 포함되어 있습니다. 물론 부호 없는 유형이나 길이가 다른 정수 (부호 없는 int, short, 부호 없는 char) 를 사용할 수 있습니다. 또한 열거 유형은 정수 또는 문자 유형에 의해 내부적으로 구현됩니다. 그래서 괜찮아요. 실수 (부동 소수점) 가 작동하지 않습니다. 예를 들면 다음과 같습니다.

부동 소수점 a = 0.123;

스위치 (a) // 오류! 정수나 문자 유형 변수가 아닙니다.

{

....

}

둘째, case 뒤에는 1, 2,3,4 와 같은 직접 상수 값 또는 2+2 와 같은 상수 계산 공식이 올 수 있지만, 변수 또는 변수가 있는 표현식 (예: a * 2) 은 따를 수 없습니다. 물론 4. 1 또는 2.0/2 와 같은 실수일 수는 없습니다.

스위치 (템플릿)

{

사례 2- 1: // 맞습니다.

...

사례 a-2: // 오류

...

사례 2.0: // 오류

...

}

또한 case 및 상수 값 뒤에 콜론이 필요합니다. 그것을 무시하지 않도록 주의하세요.

셋째, 깨진 역할.

Break 를 사용하면 선택한 분기 (즉, switch 에 의해 연결된 한 쌍의 {} 후) 를 실행한 후 전체 switch 문을 벗어나 switch 를 완료할 수 있습니다. 이 인터럽트가 없으면 다음 인터럽트가 발생하거나 전환이 완료될 때까지 프로그램이 다음 분기로 계속 진행됩니다.

예를 들어, 프로그램이 현재 case 1: 의 분기로 들어갔지만 case 1 의 분기가 이번에는 끊어지지 않았다고 가정합니다.

사례 1:

System.out.println ("당신은 검색 엔진을 통해 이 사이트에 왔습니다." " );

사례 2:

System.out.println ("당신은 친구의 소개를 통해 이 사이트에 왔습니다." " );

그런 다음 프로그램 출력 "검색 엔진을 통해이 사이트에 왔습니다." 이후 사례 2 의' 친구 소개를 통해 이 사이트에 왔습니다' 를 계속 출력할 예정이다. 。

위 예제의 코드 조각을 다음과 같이 변경하십시오 (빨간색 부분, 즉//를 추가하여 모든 break 를 무효화합니다. ):

...

사례 1:

System.out.println ("당신은 검색 엔진을 통해 이 사이트에 왔습니다." " );

///break;;

사례 2:

System.out.println ("당신은 친구의 소개를 통해 이 사이트에 왔습니다." " );

///break;;

사례 3:

System.out.println ("당신은 신문잡지를 통해 이 사이트에 왔습니다." " );

///break;;

시나리오 4:

System.out.println ("당신은 다른 수단을 통해 이 사이트에 왔습니다." " );

///break;;

기본값:

System.out.println ("잘못된 선택! 1 ~ 4 의 숫자를 입력하여 선택하세요. " );

...

달리기를 마치면 어떤 결과가 나올까요? 한번 해보고 숙제에서 대답해 주세요.

넷째, default 는 선택 사항입니다. default 가 없으면 프로그램은 switch 문 범위 내에서 아무 것도 하지 않고 일치하는 case 분기를 찾을 수 없는 후 바로 전환을 완료합니다. 예제의 기본 코드를 주석 처리한 다음 시험해 보고 선택할 때 5 를 입력할 수도 있습니다.

...

//기본값:

///cout & lt;; & lt "잘못된 선택! 1 ~ 4 의 숫자를 입력하여 선택하세요. "<& ltendl

...

다섯째, 필요한 경우 각 경우에 {} 를 사용하여 별도의 복합문을 명시적으로 생성할 수 있습니다.

앞서, 만약 ... 문과 같은 프로세스 제어문에 대해 이야기할 때, 우리는 모두 {} 를 사용하여 복합문을 생성합니다.

(조건) 인 경우

{

분기 1;

}

분기에 한 문장만 있지 않으면 중괄호 {} 가 필요하지 않습니다. 그러나 switch 의 각 case 문에서는 구문 형식에 {} 를 표시하지 않았습니다. 보세요.

스위치 (정수 또는 문자 변수)

{

Case 변수에 사용할 수 있는 값은 1:

분기 1;

깨뜨리다

Case 변수에 사용할 수 있는 값은 2 입니다.

....

}

일반 교과서에서는 {0} 만 격자 분기를 생략할 수 있다고 말하지만, 여기서는 어떤 상황에서도 {0} 격자 분기를 생략할 수 없다는 것을 상기시켜 드리고자 합니다. 예를 들어, 시나리오에서 변수를 정의하려는 경우 :

스위치 (템플릿)

{

사례 1:

Int a = 2;; //오류입니다. Case 의 범위가 명확하지 않기 때문에 컴파일러에서 여기에 변수를 정의할 수 없습니다.

...

사례 2:

...

}

이 경우 {} 을 (를) 추가하면 문제가 해결됩니다.

스위치 (템플릿)

{

사례 1:

{

Int a = 2;; //맞습니다. 변수 a 는 현재 {} 범위로 명시적으로 제한됩니다.

...

}

사례 2:

...

}