黑马程序员全套Java教程_Java基础教程_分支语句(六)

本文详细介绍了Java中的流程控制语句,包括顺序结构、if语句的三种格式以及switch语句的使用。强调了if和switch在条件判断中的应用,并通过面试题探讨了switch对不同数据类型的适用性。此外,还提供了一个switch语句的代码示例,展示了当没有匹配case时的执行流程。
摘要由CSDN通过智能技术生成

1、流程控制

1.1 流程控制语句分类

*顺序结构,分支结构(if、switch),循环结构(for、while、do…while

1.2 顺序结构

  • 顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

2、if语句

2.1 if语句格式1

  • 格式:
    if(关系表达式){
    语句体;
    }
  • 执行流程:首先计算关系表达式的值。如果关系表达式的值为true就执行语句体;如果关系表达式的值为false就不执行语句体。然后继续执行后面的语句内容。

3.1 if语句格式2

  • 格式:
    if(关系表达式){
    语句体1;
    }else{
    语句体2;
    }
  • 执行流程:首先计算关系表达式的值。若为true则执行语句体1,若为false则执行语句体2。然后继续执行后面的语句内容。

3.2 if语句格式3

  • 格式:
    if(关系表达式1){
    语句体1;
    }else if(关系表达式2){
    语句体2;
    }

    else{
    语句体n+1;
    }
  • 执行流程:
    (1)首先计算关系表达式1的值。
    (2)若值为true则执行语句体1,若为false则计算表达式2的值。
    (3)若值为true则执行语句体1,若为false则计算表达式2的值。
    (4)…
    (5)如果没有任何关系表达式为true,就执行语句体n+1。

3、switch语句

3.1 switch语句格式

  • 格式:
    switch(表达式){
    case 值1:
    语句体1;
    break;
    case 值2:
    语句体2;
    break;

    dafault:
    语句体n+1;
    [brea;]
    }
  • 格式说明:
    (1)表达式(6种):取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。
    (2)case:后面跟的是要和表达式进行比较的值。
    (3)break:表示中断,结束的意思,用来结束switch语句。在switch语句中,如果case控制的语句体后面不写break,将会出现穿透现象,在不判断下一个case值的情况下,向下运行,知道遇到break,或者整体switch语句结束。
    (4)default:表示所有情况都不能匹配的时候,就执行该处的内容,和if语句的else相似。
  • 执行流程:
    (1)首先计算表达式的值。
    (2)依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
    (3)如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉。

面试题:switch是否能作用在byte、long、String上?

  • 早期的JDK中,switch(expr)中,expr可以是byte、short、char、int。从JDK 1.5版本开始,Java中引入了枚举类型(enum),expr也可以是枚举。从JDK 1.7版本开始,还可以是字符串(String)。长整型(long)是不可以的。

面试题:下列关于switch语句的代码执行结果是

        char mychar  = 'c';
        switch (mychar){
            default:
            case 'a':
                System.out.println("a");
                break;
            case 'b':
                System.out.println("b");
                break;
        }
  • default执行时默认找不到匹配的case,之后的case不会再匹配,所有直接顺序执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值