switch case 中判断出现int无法转换为boolean问题(已解决)

在写java中,出现使用switch case时报错,显示“java:不兼容类型,int 无法转换为bolean”,在拒绝修改为if-else 语句后,根据switch case 的基本原理找出了修改方法:

首先,先让我们来了解一下switch case:

switch 语句由一个判断条件或者是一个变量和多个case语句以及最后的default组成。

switch (变量/判断条件){
    case(变量值):
            ...
            break;
    case(变量值):
            ...
            break;
            ...
    default:
            ...
            break;
}

switch(变量/判断条件)即为switch后可接一个变量,也可接一个判断条件,与后的case中的变量值相比较,例如:

switch(day){
            case "一":
                System.out.println("星期一");
                break;
            case "二":
                System.out.println("星期二");
                break;
            case "三":
                System.out.println("星期三");
                break;
            default:
                System.out.println("error");
                break;
        }

若day的值,与case后接的变量值相等(注意这里的相等是指equals),然后输出对应语句并break。

若switch中为判断条件,由于case后只可接一个变量值而不能写入表达式等

我们用一个例题来说明:

从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级:
  switch (score / 10) {
                    case 10:
                        System.out.println("满分");
                        break;
                    case 9:
                        System.out.println("优异");
                        break;
                    case 8:
                        System.out.println("优秀");
                        break;
                    case 7:
                        System.out.println("一般");
                        break;
                    case 6:
                        System.out.println("及格");
                        break;
                    default:
                        System.out.println("不及格");
                        break;
                }

而可能有人会问,这类题目用if-else语句不是更方便吗,emmm,我只是想试试这个switch case方法,其次,了解到:

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

所以...

同时,附加提醒:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值