java程序流程控制——分支结构下if语句和switch语句的比较及使用

前言:

最近学习到了java程序流程控制中分支结构的if和switch语句,记录一下使用心得。

分支结构定义:根据条件,选择对应的代码执行

if语句

if语句根据条件判断不同,有三种表达格式

1,需要条件输出一种结果时

格式如下:

if(条件){结果}

例:检测体温系统,若体温达到37度以上,则触发警报

 double x = 37.5;
        if (x >= 37 ){
            System.out.println("体温异常!体温异常!");

        }

当x为大于37的数值时,输出“体温异常!体温异常!”,小于37时,则没有任何显示

2,需要条件输出两种结果时

格式如下:

if(条件){结果}
else{不满足条件时的另一种结果}

例:体温检测系统,若体温达到37度以上,触发报警;若未达到37度,显示体温正常

double c = 36.2;
        if (c >= 37) {
            System.out.println("体温异常!禁止入内");
        } else
        {
            System.out.println("体温正常,请通过");
        }

当c为大于37的数值时,输出“体温异常!禁止入内”,小于37时,则输出“体温正常,请通过”

3,需要条件输出多种情况时

if(a条件){a结果}
else if (b条件){b结果}
else if (c条件){c结果}
else (不满足abc的条件){另外一个结果}

例:成绩录入系统,0-59为F,60-69为C,70-79为b,80-89为a,90-100为s

double q = 10;
        if (q >= 0 && q < 60){
            System.out.println("你的成绩为'F'");
        }else if (q >= 60 && q < 70){
            System.out.println("你的成绩为'C'");
        }else if (q >= 70 && q < 80){
            System.out.println("你的成绩为'B'");
        }else if (q >= 80 && q < 90){
            System.out.println("你的成绩为'A'");
        }else if (q >= 90 && q <= 100){
            System.out.println("你的成绩为'S'");
        }else {
            System.out.println("你的成绩有误");
        }

当q等于10时,输出的结果为“你的成绩为'F'”。

switch语句

switch是一种准确判断,作用在确定值上,而不是作用在范围上。

表示格式如下:

switch(变量){

case a:
a结果;
break;
case b:
b结果;
break;
...
default:
不符合上述所有条件的结果;

}

例:做一个心情表,使其在每天都知道自己的心情

  String week = "星期三";
        switch(week) {
            case "星期一":
                System.out.println("die");
                break;
            case "星期二":
                System.out.println("fuck");
                break;
            case "星期三":
                System.out.println("no");
                break;
            case "星期四":
                System.out.println("angry");
                break;
            case "星期五":
                System.out.println("yes");
                break;
            case "星期六":
                System.out.println("lalala");
                break;
            case "星期日":
                System.out.println("sad");
                break;
            default:
                System.out.println("????");
        }

 当我输入星期三时,我知道我的心情为“no”

if语句和switch语句的比较

if语句是一个功能非常强大的语句,能完成switch的功能,像是上面那个“心情表”的例子,也可以用if语句来写,如下:

 String xq = "星期二" ;
        if (xq == "星期一"){
            System.out.println("die");
        }else if(xq == "星期二"){
            System.out.println("fuck");
        } else if(xq == "星期三"){
            System.out.println("no");
        }else if(xq == "星期四"){
            System.out.println("angry");
        }else if(xq == "星期五"){
            System.out.println("yes");
        }else if(xq == "星期六"){
            System.out.println("lalala");
        }else if(xq == "星期日"){
            System.out.println("sad");
        }else{
            System.out.println("???");
        }

 但通过对比,可以看出来,if是一个繁琐的语句,在筛选条件时,if语句是自上至下依次筛选,当代码较多时,运行速度是较慢的。

switch的优势在于,当确定变量值后,switch能够准确迅速的筛选出条件,并执行结果,性能较好。

结论:

if语句功能强大,但繁琐,易出错,性能较差。当执行区间比较条件的时候,使用if语句

switch语句功能一般,性能好。当执行准确值/固定值比较条件的时候,使用switch语句

---------------------------------------------------------------------------------------------------------------------------------循环结构可以看这里

java程序流程控制——循环结构下for语句,while语句和do-while语句的比较及死循环/循环嵌套/break语句/continue语句的使用

想巩固下分支结构和循环结构的用法可以看这里

Scanner(文本扫描器)和Random(随机数生成器)的说明及使用,运用分支结构和循环结构编写猜数字游戏

最后:

如果您看到了这篇文章,同时您也在学习java,希望您阅读这篇文章,希望与您一起讨论

基于黑马程序员的java学习笔记(持续更新)

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值