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("没有匹配的分支!");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值