/*
* author:xulei
* date:2009.12.03
*/
package com.dol.dop.exams;
public class JavaTest {
/**
* 多重switch中break的用法
*/
public void switchTest() {
int a = 1, b = 0;
switch (a) {
case 1:
switch (b) {
case 0:
System.out.println("**0**");
break;//这里的BREAK只退出里面的switch
case 1:
System.out.println("**1**");
break;
}
case 2:
System.out.println("**2**");
//break;
case 3:
System.out.println("**3**");
break;
}
System.out.println("/n");
/*结果是
* **0**
* **2**
* **3**
*/
}
/*switch的查找顺序
* java中switch的值为整型和枚举,允许为int,char,byte,short,enum
* 下面是基本类型的默认值,
* boolean false
* char ‘/u0000’ (null)
* byte (byte)0
* short (short)0
* int 0
* long 0L
* float 0.0f
* double 0.0d
* switch先找匹配值,再按顺序往下遍历,直到break
* 下面三个例子说明了这一点
*/
public static void switchA() {
int x = 0;
switch (x) {
default:
System.out.println("default");
case 1:
System.out.println(1);
}
/**
* 输出结果
* default
* 1
*/
}
public static void switchB() {
int x = 0;
switch (x) {
default:
System.out.println("default");
case 0:
System.out.println(0);
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
}
/**
* 输出结果
* default
* 0
* 1
*/
}
public static void switchC() {
int x = 0;
switch (x) {
case 0:
System.out.println(0);
case 1:
System.out.println(1);
default:
System.out.println("default");
}
/**
* 输出结果
* 0
* 1
* default
*/
}
public static void main(String[] args) {
JavaTest switchTest = new JavaTest();
switchTest.switchB();
}
}