自学Java22

129 阅读2分钟

引言

  • 在记录自己自学java过程中,首先声明关于学习顺序可能并不很科学,即使我也是通过一些公开的资料来进行学习,但不会是完全无基础的教学,更像是比对着python(本人平时编程使用的是python)比较实现方法的异同学习,请酌情参考学习,有理解不对的地方欢迎指正。

java-流程控制 3

switch多重选择(python中是没有该选择的)

标准写法

  • 假如多个case语句要执行的代码块或者说功能是一致的,也可以简写如下所示
public class Main {
    public static void main(String[] args) {
        int option = 2;
        switch (option) {
        case 1:
            System.out.println("Selected 1");
            break;
        case 2:
        case 3:
            System.out.println("Selected 2, 3");
            break;
        default:
            System.out.println("Not selected");
            break;
        }
    }
}

  • 上篇说过如果不写break,会出现"穿透",也就是从匹配到case 2开始,后续语句将全部执行,直到遇到break语句。因此,任何时候都不要忘记写break,万一哪天在死循环里没写break那可能就是"事故"喽

  • 关于执行顺序,上面说过各个情况互斥这与if-else是一样的,但是if-else是有执行顺序的,而switch中case的顺序不影响程序逻辑,但是为了便于分析代码最好还是符合规律较好

  • 除了上述数据类型,也可以匹配字符串,这时候=就是表示"内容相同"

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";
        switch (fruit) {
        case "apple":
            System.out.println("Selected apple");
            break;
        case "pear":
            System.out.println("Selected pear");
            break;
        case "mango":
            System.out.println("Selected mango");
            break;
        default:
            System.out.println("No fruit selected");
            break;
        }
    }
}

  • 上面说到不写deault和break会有意想不到的后果,那么用pycharm写python代码的时候格式错误都会有提醒,那么同样IDEA有提示吗?可以设置编译检查来进行warning提示防止出现这种情况

  • 选择Preferences -> Editor -> Inspections -> Java -> Control flow issues,将以下检查标记为Warning:
    • Fallthrough in 'switch' statement
    • 'switch' statement without 'default' branch
  • 最好还是自己记住,毕竟不是什么时候都可以用到这些好用的开发工具的,比如在Linux跳板机跳转的服务器里面用vim改代码(此时专业设备就不是很好用了,我现在就只能用vim修改代码)