Java学习笔记:条件判断if...else 与switch

一、if...else

 使用 if...(else...) 进行条件判断,语法如下:

//2个条件
if(condition){
    statement1;
    statement2;
}
else{
    statement3;
}

//多个条件
if(condition1){
    statement1;
    ...
}
else if(condition2){
    statement2;
    ...
}
else{
    statement3;
    ...
}

举例:

public class TestIf {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        if (n>=60 & n<90){
            System.out.println("及格了!");     //60~89:及格
        }
        else if(n>=90){
                System.out.println("优秀!");   //90~100:优秀
            }
        else{
                System.out.println("不及格!"); //<60:不及格
            }
    }
}

二、判断引用类型相等

1. 使用“==”

  • 判断数值类型时,“==”可以用于判断值是否相等;
  • 判断引用类型时,“==”不是判断“值”是否相等,而是判断是否指向相同的数据对象。

举例:

public class TestEqual {
    public static void main(String[] args){
        int[] data = {10,20};
        String s1 = "hello";
        String s2 = "hello";
        String s3 = "HELLO".toLowerCase();
        String s4 = s1;
        System.out.println(data[0]==data[1]);  //false
        System.out.println(s1==s2);            //true
        System.out.println(s2==s3);            //false
        System.out.println(s1==s4);            //true
        System.out.print("End");
    }   
}

输出:

 2. equals()方法

判断引用类型的变量内容是否相等,使用equals()方法,语法如下:s1.equals(s2)。

★注意:如果s1为null,则报错NullPointerException,若要避免这类错误:

  • 可以利用短路运算符&&,要求s1!=null;
  • 或者可以将不为null的对象s2放在前面。

举例:

public class TestEquals {
    public static void main(String[] args){
        String s1 = "hello";
        String s2 = "HELLO".toLowerCase();
        System.out.println("s1="+s1);
        System.out.println("s2="+s2);
        if (s1.equals(s2)){
            System.out.println("s1 equals s2");
        }
        else{
            System.out.println("s1 not equals s2");
        }
    }
}

输出:

 三、switch

1. switch语句根据不同的表达式结果执行不同的分支。句法如下:

switch(statement){
    case statement1:
        ...;
        break;
    case statement2:
        ...;
        break;
    default:
        ...;
}
  • 当statement=statement1或statement2时,执行case statement1或case statement2之后的语句,直到遇到break,跳出switch;
  • 当statement没有匹配到case时,执行default语句,如果没有定义default则不执行语句;

2. switch如果缺少break语句将导致极为严重的错误,因此,从Java12开始switch语句设计了新写法,句法如下:

switch(statement){
    case statement1 -> {
        ...;
    }
    case statement2 -> {
        ...;
    }
    default -> {
        ...;
    }
}

  举例:

public class TestSwitch {
    public static void main(String[] args){
        String str = "apple";
        switch(str){
            case "apple" -> {
                System.out.print(str);
            }
            case "peal", "mango" -> {
                System.out.print(str+"88");
            }
        }
    }
}

  输出:

     综上,使用新语法可以简化代码,表现在:

  • 不需要注意“break”;
  • case表达式可以通过“,”进行合并。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值