구조 선택된 자바 선택 02_switch

1.switch 교대

코드 블록을 선택하는 스위치 문을 사용하여 실행되는, 상대적으로 유사과 조건 분기 문 경우.

문법 구조]

switch (表达式) {
	case 常量1:
		语句序列;
		[break;]
	case 常量2:
       	语句序列;
		[break;]
	case 常量3:
       	语句序列;
		[break; ]
   	……
	[default:]
       	默认语句;
       	[break;]
}

[ 서지 ]

스위치 문은 라벨에 일치하는 경우의 식의 값에 기초하여 실행을 시작에서 상기 스위치 문 또는 break 문이 끝날 때까지 수행된다. (현재의 경우 기본 문 경우) 사례 값과 일치하지 않는, 프로세스는 기본 문으로 진행된다.

[주]

  1. 스위치 데이터 형식은 () 만 같은 : 바이트, 짧은, INT, 문자, 문자열 (JDK7) 및 열거 (나중에 배울 것입니다).

  2. () 경우는 일정해야하며, 상수 및 데이터 타입의 유형이어야 후에 스위치가 일치한다.

    그리고 중복 된 경우 값을 허용하지 않습니다.

  3. 우리는 생략 할 수 있습니다 우리의 휴식의 필요에 따라, 스위치 문으로 탈출하기 위해,

    어떤 틈이 없을 경우, 케이스 내부의 모든 케이스 뒷면에 이르는 일단은 휴식을 만날 때까지 입력하거나 전환 할 수 있습니다.

  4. 기본값은 생략하지만, 사건은 사건의 모든 일치 할 수 있으며 기본값은 무질서한 않는 한, 생략 최선이 아니라 할 수있는 기본 할 수있는 유일한 마지막 실행 또는 비 실행.

[교육 운동]

1, 예를 들면 정수 입력은 주 디스플레이의 대응 일, "1"은 입력, 출력은 "월요일"이다.

2 스코어 인 경우, 그 결과를 수신하는 사람 : 90 (포함)을 90 웰 출력 60 (포함) 내지 100 (포함)의 출력이 우수 70 (포함)는 출력 70, 출력 60 점을 통과하는 행은 이하 못했다.

/**
 * 思路分析:
 *   合法的成绩区间所对应的等级:
 *		[90, 100]   --> [90, 100]/10 --> 结果:9或10  
 *		[70, 90)	--> [70, 90)/10  --> 结果:7或8 
 *		[60, 70)	--> [60, 70)/10  --> 结果:6 
 *		[0, 60)		--> [0, 60)/10   --> 结果:0、1、2、3、4、5	--> 不及格
 *	把获得的成绩score/10,根据获得的整数值得到对应的等级。
 *		score / 10,结果:9或10				则输出“优秀”		
 *		score / 10,结果:7或8  				则输出“良好”	
 *		score / 10,结果:6        			 则输出“及格”		
 *		score / 10,结果:0、1、2、3、4、5    则输出“不及格”
 * 实现步骤:
 *	 a)通过Scanner获得学生成绩,假设使用score变量保存。	
 *	 b)判断学生成绩是否合法,合法成绩区间:[0, 100]
 *	 c)如果学生成绩合法,则根据学生成绩输出对应等级。 	
 */
public class SwitchTest02 {
	public static void main(String[] args) {
		// 1.通过Scanner获得学生成绩
		Scanner input = new Scanner(System.in);
		System.out.print("请输入学生成绩:");
		int score = input.nextInt();
		// 2.判断学生成绩是否合法,合法成绩区间:[0, 100]
		if(score < 0 || score > 100) {
			System.out.println("成绩输入有误,请重新输入!");
		}
		else { // 合法情况,score的范围:[0, 100]
			// 3.如果学生成绩合法,则根据学生成绩输出对应等级。  	
			switch(score/10) {
				case 10:
				case 9:
					System.out.println("优秀");
					break;
				case 8:
				case 7:
					System.out.println("良好");
					break;
				case 6:
					System.out.println("及格");
					break;	
				default:
					System.out.println("不及格");	
			}
		}
	}
}

3 이름 입력하여 가격 문의 과일, 열매 (열매), 예컨대 사과와 같은 과일의 출력에 대응되는 가격, 6 / kg, 바나나 3 / kg, 리언 20위안 / kg, 박 0.8 원 / kg.

public class SwitchTest01 {
	public static void main(String[] args) {
		// 1.通过Scanner获得水果名字
		Scanner input = new Scanner(System.in);
		System.out.print("请输入水果名字:");
		String fruit = input.nextLine();
		// 2.根据水果名字,输出对应的水果的价格
		switch(fruit) {
			case "苹果":
				System.out.println(fruit + "6元/斤");
				break;
			case "香蕉":
				System.out.println(fruit + "3元/斤");
				break;
			case "榴莲":
				System.out.println(fruit + "20元/斤");
				break;
			case "西瓜":
				System.out.println(fruit + "0.8元/斤");
				break;	
			default:
				System.out.println("本店还没进货,下次再来!");
				break;
		}
	}

그리고 차이 2.switch 경우

스위치 : 고정 된 값에 의해 결정 때 추천.

IF : 연산 결과의 사용 기간 또는 범위 인 경우 분석 추천 부울 표현식이 결정된다.

참고 : 스위치가 아니라 그 반대, 할 수 있다면 함께 할 수 있습니다.

PS : 최신 무료 문서 및 교육용 비디오를 들어, QQ 그룹 (627,407,545)를 추가하십시오 수신.

게시 55 개 원래 기사 · 원의 칭찬 0 · 조회수 783

추천

출처blog.csdn.net/zhoujunfeng121/article/details/104639493