专业编程基础技术教程

网站首页 > 基础教程 正文

Kotlin中的when表达式和Java中的switch表达式对比

ccvgpt 2024-11-19 02:13:41 基础教程 7 ℃

一、内容提要

在Java中有流程控制语句switch case default,而在Kotlin中则有when else表达式。switch支持基本数据类型、枚举、字符串(java1.7、1.8以后开始支持),其原理最终都会编译成int值进行switch 匹配。而Kotlin的when表达式除了支持java的所有特性以外还支持一定程度的模式匹配,如:when表达式的每个分支都可以带返回值。下面通过实例一块来看看。


Kotlin中的when表达式和Java中的switch表达式对比


二、实战部分

//Java代码
    switch (a){
            case 0:
                System.out.println("不错");
                break;
            case 1:
                System.out.println("很好");
                break;
            case 10:
                System.out.println("完美");
                break;
            default:
                System.out.println("默认输出");
                break;
        }
//kotlin代码
when (a) {
        1 -> println("1")
        2 -> println("2")
        3 -> println("3")
        4 -> println("4")
        5, 4, 4, 3 -> println("5")
        else -> {
            println("else")
        }
    }
  



三、注意点

由上面的代码我们在明面上可以看出的区别是:

1.Kotlin用when关键字,而Java用switch关键字

2.Kotlin控制分支直接写对应的值,并且用lambda表达式来控制逻辑,而Java必须借助switch case来完成

3.Kotlin输出默认值用else关键字,而Java中输出默认值用default break关键

4.switch 不支持返回值,而when表达式支持返回值

5.when可以接受任意类型的值,而switch只能接受基本数据类行,字符串,枚举

四、结束语



好了,说完了,有时间就抽空练习下呗

Tags:

最近发表
标签列表