if判断
基本语法
if (条件1) {
// 条件满足时执行
} else if (条件2) {
// 条件满足时执行
} else {
//不满足条件
}
示例
int age = 61;
if (age > 60) {
System.out.println("老年人");
} else if (age > 16) {
System.out.println("成年人");
} else {
System.out.println("未成年");
}
# 老年人
浮点数判定
double d = 1-9.0/10;
if (Math.abs(d-0.1)<0.00001) {
System.out.println("相等");
} else {
System.out.println("不相等");
}
# 相等
判断引用类型相等
判断值类型的变量是否指向同一个对象,可以使用==运算符,如果判定变量内容是否相等可以使用equals()
String S1 = "hello";
String S2 = "hello";
String S3 = "Hello".toLowerCase();
if (S1==S3) {
System.out.println("s1和s3指向同一个对象");
} else {
System.out.println("s1和s3不指向同一个对象");
}
if (S1==S2) {
System.out.println("s1和s2指向同一个对象");
} else {
System.out.println("s1和s2不指向同一个对象");
}
if (S1.equals(S3)) {
System.out.println("s1和s3内容相等");
} else {
System.out.println("s1和s3内容不相等");
}
switch多重选择
int opt;
String fruit = "pear";
switch (fruit) {
case "apple":
opt = 1;
break;
case "pear":
case "mango":
opt = 2;
break;
default:
//默认执行
opt = 0;
break;
}
如果case中没有
break,将会同步执行下一个case代码块
java12开始支持简洁语法
int opt = switch (option) {
case 3 -> ...;
case 2 -> ...;
case 1 -> ...;
default -> ...;
}
上面的会变成:
String fruit = "pear";
int opt = switch (option) {
case "apple" -> 1;
case "pear","mango" -> 2;
default -> 0;
yield
大多数时候,在switch表达式内部,我们会返回简单的值。
但是,如果需要复杂的语句,我们也可以写很多语句,放到{...}里,然后,用yield返回一个值作为switch语句的返回值:
String fruit = "pear1";
int opt1 = switch (fruit) {
case "apple" -> 1;
case "pear", "mango" -> 2;
default -> {
opt = fruit.hashCode();
yield opt;
}
};
System.out.println(opt1);//106540043










网友评论