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

Java学习笔记:条件判断if...else 与switch,第1张

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表达式可以通过“,”进行合并。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存