JAVA Swith语句使用

时间:2022-09-08 15:00:00
“开关”(Switch)有时也被划分为一种“选择语句”。根据一个整数表达式的值,switch 语句可从一系列代码选出一段执行。它的格式如下:

switch(整数选择因子) {
case 整数值1 : 语句; break;
case 整数值2 : 语句; break;
case 整数值3 : 语句; break;
case 整数值4 : 语句; break;
case 整数值5 : 语句; break;
//..
default:语句;
}

其中,“整数选择因子”是一个特殊的表达式,能产生整数值。switch 能将整数选择因子的结果与每个整数值比较。若发现相符的,就执行对应的语句(简单或复合语句)。若没有发现相符的,就执行default 语句。
在上面的定义中,大家会注意到每个case 均以一个break 结尾。这样可使执行流程跳转至switch 主体的末尾。这是构建switch 语句的一种传统方式,但break 是可选的。若省略break,会继续执行后面的case 语句的代码,直到遇到一个break 为止。尽管通常不想出现这种情况,但对有经验的程序员来说,也许能够善加利用。注意最后的default 语句没有break,因为执行流程已到了break 的跳转目的地。当然,如果考虑到编程风格方面的原因,完全可以在default 语句的末尾放置一个break,尽管它并没有任何实际的用处。switch 语句是实现多路选择的一种易行方式(比如从一系列执行路径中挑选一个)。但它要求使用一个选择因子,并且必须是int 或char 那样的整数值。例如,假若将一个字串或者浮点数作为选择因子使用,那么它们在switch 语句里是不会工作的。对于非整数类型,则必须使用一系列if 语句。
下面这个例子可随机生成字母,并判断它们是元音还是辅音字母:

/*
 * 文件名:VowelsAndConsonants.java
 * 版权:Copyright by myoursky
 * 描述:Swith示例,生成一个随机字母,并判断它是元音还是辅音字母。
 * 修改人:gaoxiaohan
 * 修改时间:2014-10-15
 * 跟踪单号:
 * 修改单号:
 * 修改内容:
 */

package com.myoursky.j2se;

import java.util.Random;

public class VowelsAndConsonants {

	/**
	 * Description:
	 * “开关”(Switch)有时也被划分为一种“选择语句”。
	 * 根据一个整数表达式的值,switch 语句可从一系列代码选出一段执行。 <br> 
	 * @see
	 */
	public static void main(String[] args) {
		Random rand = new Random();
		int c = rand.nextInt(26) + 'a';
		System.out.print((char)c + "," + c + ": ");
		switch(c){
		  case 'a':
		  case 'e':
		  case 'i':
		  case 'o':
		  case 'u':
			  System.out.print("vowel.");
			  break;
		  case 'y':
		  case 'w':
			  System.out.print("Sometimes a vowel.");
			  break;
		  default:
			  System.out.println("consonants.");
		}
		System.out.print("\n");
	}

}