引言
- 在记录自己自学java过程中,首先声明关于学习顺序可能并不很科学,即使我也是通过一些公开的资料来进行学习,但不会是完全无基础的教学,更像是比对着python(本人平时编程使用的是python)比较实现方法的异同学习,请酌情参考学习,有理解不对的地方欢迎指正。
java-流程控制 3
补:判断引用类型相等
- 前面已经介绍了Java中如何进行引用类型的判断,那么python中可以直接判断吗?
x = "hello"
if x == "hello":
print("相等")
else:
print("不相等")

- 显然使用
==去比较python中可以直接显示相等
- 在python中
== : 它的作用是判断数值是否相等(相当于Java中的equals),所以结果肯定是相等的
- 那么python中同样也有地址的判断,is就是判断地址是否相等(相当于Java中的==),这里的地址其实和Java的指向地址是类似的,可能关于python的拷贝相关问题会比较深入这个问题,此处只是判断不做赘述
switch多重选择(python中是没有该选择的)
- 除了if语句外,在Java中还有一种条件判断,是根据某个表达式的结果,分别去执行不同的分支
- 先看一下switch的结构:包含switch值和case,default关键字
public class Main {
public static void main(String[] args) {
int option = 99;
switch (option) {
case 1:
System.out.println("Selected 1");
break;
case 2:
System.out.println("Selected 2");
break;
case 3:
System.out.println("Selected 3");
break;
default:
System.out.println("Not selected");
break;
}
}
}

- 这个倒是有点像写sql语句中用到的case-when语句(python中依然还是只有if-else实现)
- 方便理解可以把switch换成Java中if-else语句:(注意,下面翻译只有在switch语句中对每个case正确编写了break语句才能对应得上。)
if (option == 1) {
System.out.println("Selected 1");
} else if (option == 2) {
System.out.println("Selected 2");
} else if (option == 3) {
System.out.println("Selected 3");
} else {
System.out.println("Not selected");
}
- 其实也就是case后面的数值就等于是==后面的数值,只是好像用switch比较方便明了一些,或者说更容易理解成各个互斥的情况,而且case不用写
{},但是务必要写break,不然就会"穿透",具体放在下个章节详解