if条件分支语句和switch多重条件分支的用法

if和switch都是在都条件时才执行代码时会用到的两个方法。

if:与else搭配,if...else...(else不是必须的)

if语句的基本语法是根据if的计算结果为true还是false,再决定是否执行if语句块

如果if后的括号内计算结果为true,则执行花括号里面的语句块,如果计算结果为false,则会跳过if语句的语句块,执行else后面的语句块。

注意:当if语句块只有一行代码时,花括号可以省略掉,不过这个不是好的编程习惯,所以并不推荐这种写法

如果有多个条件依次进行判断时,还可以用if...else if...。

 //判断当前字符的分类
            if (c>'A'&&c<='Z'||c>='a'&&c<='z'){
                //英文
                letters++;
            } else if (c>=0x4e00&&c<=0x29fa5) {
                //汉字
                chs++;

            } else if (c >= '0' && c <= '9') {
                //数字
                numbers++;
            }else {
                //标点符号
                flags++;
            }

注意:使用多个if时,要特别注意判断顺序,有规律的需要按照范围”从大到小依次判断“,或”从小到大依次判断“

边界条件也要注意,我先举个例子:当分数=90时,本来是优秀,但因为第一个if的条件是n>90,并没有包含90,所以输出结果就是及格,将条件改为n>=90就好了

    public static void main(String[] args) {
        int n = 90;
        if (n > 90) {
            System.out.println("优秀");
        } else if (n >= 60) {
            System.out.println("及格了");
        } else {
            System.out.println("挂科了");
        }
    }

在这里加入一个新的知识点,”=“和”==“的区别,”=“在Java中是表示赋值,”==“判断基本数据类型是否相等。但是在引用类型中,判断两个引用类型的变量是否相等时,”==“表示判断引用类型的内存地址是否相等,并不能比较内容,要是比较内容是否相同,这时候就需要equals()方法。

      String s = "hello";
      String s2="Hello";
        if (s.equals(s2)) {
            System.out.println("相等哦");
        } else {
            System.out.println("不相等哦");

        }

switch语句:与case搭配,根据某个表达式的结果,分别执行不同的代码分支

switch的计算结果必须为整型,字符型,字符串或枚举类型。

语法结构:

switch(表达式){
    case 1:
        //表达式等于1
        System.out.println("执行case 1中的代码逻辑");
        break;//退出switch
    case 2:
        //表达式等于2
        System.out.println("执行case 2中的代码逻辑");
        break;//退出switch
   default:
        //默认情况,即上述case值都不相等
        System.out.println("执行case 3中的代码逻辑");
        break;//退出switch

default 的位置可以在末尾部分也可以在switch语句的开始部分

注意:使用switch时,case语句并没有花括号{},所以break就显得尤为重要,在执行完一个case语句时,没有break就会导致后续语句仍然会继续执行,直到遇到break语句,所以,任何时候都不能忘记写break。

如果遇到多个case语句执行的是同一个代码块,可以采用下述写法:

switch (counter) {
            case 0:
            case 1:
            case 2:
            case 3:
                System.out.println("很遗憾,重新买一次吧");
                break;
            case 4:
                System.out.println("三等奖");
                break;
            case 5:
                System.out.println("二等奖");
                break;
            case 6:
                System.out.println("一等奖");
                break;
            case 7:
                System.out.println("特等奖");
                break;

        }

有问题欢迎评论区讨论哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值