Java分支结构知识整理(详细)

一、分支结构

顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。在Java中有以下两种分支结构:

1.if/if...else/if...else if...else语句

2.switch...case 语句

二、if语句

一个 if 语句包含一个布尔表达式和一条或多条语句。

语法:

if(布尔表达式){
    //布尔表达式结果为true执行的代码块
}

例:

//if语句
@Test
public void  test_01(){
    int a = 1;
    if(a > 0){
        System.out.println("a 大于 0");
    }
}

三、if...else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

语法:

if(布尔表达式){
    //布尔表达式为true时执行的代码块
}else{
    //布尔表达式为false时执行的代码块
}

例:

//if...else语句
@Test
public void test_02(){
    int a = 0;
    if(a > 0){
        System.out.println("a 大于 0");
    }else {
        System.out.println("a 不大于 0");
    }
}

四、if...else if...else语句

if后可以跟无限个else if,但最多只能有一个else语句,并且其要放在所有的else if语句之后。

一旦if或else if语句的其中一个的布尔表达式的结果为true,其余的else if以及else语句全部跳过执行。

语法:

if(布尔表达式_01){
    //布尔表达式_01为true时执行的代码块
}else if(布尔表达式_02){
    //布尔表达式_02为true时执行的代码块
}else if(布尔表达式_03){
    //布尔表达式_03为true时执行的代码块
}else{
    //以上布尔表达式都为false时执行的代码块
}

例:

//if..else if...else语句
@Test
public void test_03(){
    int a = 0;
    if(a > 0){
        System.out.println("a 大于 0");
    }else if (a < 0){
        System.out.println("a 小于 0");
    }else {
        System.out.println("a 等于 0");
    }
}

五、switch...case语句

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch语句支持的数据类型:byte、short、int、char,JDK1.5后,添加了对enum(枚举)的支持,JDK1.7后,添加了对String(字符串)类型的支持。

switch语句可以有多个case分支。

case分支中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面量。

当变量与case语句对应的值相等时,case之后的语句执行,直到遇见break语句才会跳出switch语句。如果没有break语句,程序会执行下一条case语句,直到break语句出现为止。

default语句,可选,该分支必须为switch语句的最后一个分支,default在没有case语句值与变量的值相等的时候执行,其不需要break语句。

一般情况下,每个case语句对应的代码块结束要带上break语句,防止case穿透。

语法:

switch(变量){
    case value_01:
        //变量与value_01相等时执行的语句
        break; //可选
    case value_02:
        //变量与value_02相等时执行的语句
        break; //可选
    //可以有无限个case分支
    default : //可选
        //变量与以上value都不相等时执行的语句
}

例:

//switch语句
@Test
public  void test_04(){

    String a = "笑笑";
    switch (a){
        case "嘻嘻":
            System.out.println("嘻嘻");
            break;
        case "哈哈":
            System.out.println("哈哈");
            break;
        case "笑笑":
            System.out.println("笑笑");
            break;
        default:
            System.out.println("没有匹配的分支!");
    }
}

猜你喜欢

转载自blog.csdn.net/u012430402/article/details/81083960