Java分支结构

1、if(){}else{}

if(判断条件){ 
    执行代码 
}else{ 
    不满足第一个就执行此处代码 
}

注:当{}中执行的代码块只有一句时,可省略{}

2、if(){}else if(){}......else{}

if(判断条件){ 
    执行代码 
}else if(判断条件){ 
    执行代码 
}else if(判断条件){ 
    执行代码 

…… 
else { 
    上面条件都不满足就执行此处代码 
}

3、switch语句

switch 语句由一个控制表达式和多个case标签组成。

switch 控制表达式支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。

switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。

default在当前switch找不到匹配的case时执行。default并不是必须的。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

3.1语法格式

switch (表达式) {
    语句1;
    break;
case 条件2:
    语句2;
    break;
...
default:
    语句;
}

3.2使用示例

int类型switch示例

int i = 3;
switch (i) {
case 1:
    System.out.println(1);
    break;
case 2:
    System.out.println(2);
    break;
case 3:
    System.out.println(3);
    break;
default:
    System.out.println(0);
}

枚举(Enum)类型switch示例

static enum E {
    A, B, C, D
}
public static void main(String args[]) {
    E e = E.B;
    switch (e) {
    case A:
        System.out.println("A");
        break;
    case B:
        System.out.println("B");
        break;
    case C:
        System.out.println("C");
        break;
    case D:
        System.out.println("D");
        break;
    default:
        System.out.println(0);
    }
}

String类型switch示例

String str = "C";
switch (str) {
case "A":
    System.out.println("A");
    break;
case "B":
    System.out.println("B");
    break;
case "C":
    System.out.println("C");
    break;
default:
    System.out.println(0);
}

3.3break

break在switch中用于结束当前流程。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

忘记写break的陷阱

示例:

int i = 2;
switch (i) {
case 1:
    System.out.println(1);
case 2:
    System.out.println(2);
case 3:
    System.out.println(3);
default:
    System.out.println(0);
}

输出结果:

2
3
0

3.4default

default在当前switch找不到匹配的case时执行。default并不是必须的。

示例:

int x = 0;
switch(x){
case 1:
    System.out.println(1);
case 2:
    System.out.println(2);
default:
    System.out.println("default");
}

输出结果:default

本文switch语句部分转载自machao0903的专栏

猜你喜欢

转载自blog.csdn.net/hy909475/article/details/81273585