今天继续更新,控制流程的剩余部分内容,带标签的循环语句中的continue/break 的使用方法,以及switch关键字的使用方法。
例1:带标签的continue/break。
package com.date0605;
/**
* 一般的continue会退回到最内层的开头(顶部),并继续执行。
* 带标签的continue会到标签的位置,并重新进入紧接在那个标签后面的循环。
* 一般的break会中断并跳出当前循环。
* 带标签的break会中断并跳出标签所指的循环。
*/
public class Test_0605_Demo01 {
public static void main(String [] args){
int i = 0;
outer:
while(true){
System.out.println("Outer while loop");
while(true){
i++;
System.out.println("i = " + i);
if (i == 1){
System.out.println("continue");
continue;
}
if (i == 3){
System.out.println("continue outer");
continue outer;
}
if (i == 5){
System.out.println("break");
break;
}
if (i == 7){
System.out.println("break outer");
break outer;
}
}
}
int j = 0;
OuterFor:for (;true;){
System.out.println("Outer for loop");
for (;true;){
j++;
System.out.println("j = " + j);
if (j == 1){
System.out.println("continue");
continue;
}
if (j == 3){
System.out.println("continue outer");
continue OuterFor;
}
if (j == 5){
System.out.println("break");
break;
}
if (j == 7){
System.out.println("break outer");
break OuterFor;
}
}
}
}
}
运行结果:
例2 switch case语句,发现相符合的执行case对应的语句,都没有符合的执行default 后面的语句。
package com.date0605;
import java.util.Random;
public class Test_0605_Demo02 {
public static void main(String [] args){
Random rand = new Random();
for (int i = 0;i < 7; i++){
int c = rand.nextInt(26) + 'a';
System.out.println((char)c + ", " + c + ": ");
switch (c){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u': System.out.println("vowel"); break;
case 'y':
case 'w': System.out.println("sometimes a vowel"); break;
default : System.out.println("consonant");
}
}
}
}
运行结果: