/**
* 语句标签测试
*
* @author leizhimin 2009-7-16 11:43:08
*/
public class TestLable {
public static void main(String[] args) {
outer:
for (int i = 0; i < 10; i++) {
System.out.println("\nouter_loop:" + i);
inner:
for (int k = 0; i < 10; k++) {
System.out.print(k + " ");
int x = new Random().nextInt(10);
if (x > 7) {
System.out.print(" >>x == " + x + ",结束inner循环,继续迭代执行outer循环了!");
continue outer;
}
if (x == 1) {
System.out.print(" >>x == 1,跳出并结束整个outer和inner循环!");
break outer;
}
}
}
System.out.println("------>>>所有循环执行完毕!");
}
} 执行结果:
outer_loop:0
0 1 2 3 4 5 6 7 8 9 >>x == 8,结束inner循环,继续迭代执行outer循环了!
outer_loop:1
0 1 2 3 4 5 >>x == 9,结束inner循环,继续迭代执行outer循环了!
outer_loop:2
0 1 2 3 4 5 6 7 8 9 >>x == 8,结束inner循环,继续迭代执行outer循环了!
outer_loop:3
0 1 2 3 4 >>x == 9,结束inner循环,继续迭代执行outer循环了!
outer_loop:4
0 1 2 3 4 5 6 7 8 9 10 >>x == 8,结束inner循环,继续迭代执行outer循环了!
outer_loop:5
0 >>x == 1,跳出并结束整个outer和inner循环!------>>>所有循环执行完毕!
Process finished with exit code 0 这个执行结果是随机的。 下面给个图看看:
二、switch语句 switch语句是一个条件选择语句,这个语句有“goto”的味道,但是限制也很多,因此,实际中使用较少。 switch语句的结构如下:
switch(intvar){
case intval: 语句代码;break;
case intval: 语句代码;break;
case intval: 语句代码;break;
case intval: 语句代码;break;
default:
语句代码;
} switch(intval){...}语句中,小括号中intvar是一个整数条件因子变量,这个变量只能为:byte、char、short、int和enum(枚举类型)几种类型,本质上都是×××数字。intval是匹配的条件因子值,当匹配时,执行其下的语句。其中所有的break语句都是可选的。当执行了break语句后,就跳出整个switch语句,否则,还会继续往下匹配别的条件。当intvar不能匹配所有的给定条件值时候,就执行default语句,如果没有default语句,则跳出switch语句。 switch语句的条件因子变量只能作为整型数字或者字符型、枚举类型,这个限制太严格了,使得switch语句的实际用途不是很大。 下面是一个汉语金额数字转换程序: /**
* 汉语金额数字转换程序
*
* @author leizhimin 2009-7-16 13:28:05
*/
public class TestSwitch {
/**
* 数字转换为汉语金额数字
*
* @param num 数字
* @return 汉语金额数字
*/
public static String genCnNum(Long num) {
StringBuffer sb = new StringBuffer();
String snum = String.valueOf(num);
for (char c : snum.toCharArray()) {
sb.append(num2Cn(c));
}
return sb.toString();
}
/**
* 字符数字转换为汉语金额数字
*
* @param c 字符数字
* @return 汉语金额数字
*/
private static String num2Cn(char c) {
String res = null;
switch (c) {
case '0':
res = "零";
break;
case '1':
res = "壹";
break;
case '2':
res = "貮";
break;
case '3':
res = "叁";
break;
case '4':
res = "肆";
break;
case '5':
res = "伍";
break;
case '6':
res = "陆";
break;
case '7':
res = "柒";
break;
case '8':
res = "捌";
break;
case '9':
res = "玖";
break;
default:
System.out.println("您的输入有误,请重试!");
}
return res;
}
public static void main(String[] args) {
System.out.println(genCnNum(4523586022L));
}
} 运行结果: 肆伍貮叁伍捌陆零貮貮
Process finished with exit code 0