使用 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则不执行语句;
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表达式可以通过“,”进行合并。



