Kotlin学习笔记:基础内容

Kotlin是一种静态类型的编程语言,以其简洁的语法和智能特性著称。它允许省略分号,进行强大的类型推断,并提供了val和var来声明变量。Kotlin的相等性检查包括内容和引用的比较,而字符串模板和原生字符串则简化了文本操作。此外,它的try-catch结构作为表达式使用,增加了代码的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kotlin学习笔记:基础内容

更少的代码量:

Kotlin相比于Java的特点之一在于减少了输入,为此它有以下几个特点:

  • 分号是可选的。一般来说除非你要在一行里写多个表达式,不然你不需要写分号

  • 更聪明的类型推断。Kotlin的另一大特色就是其类型推断。通过val或者var关键字,
    我们在声明变量时不再需要一定在后面跟上变量名称了。比如:

    val greet = 10
    

    编译器将帮助我们自动推断greet的类型

  • 类和函数是可选的。与Java不同,Kotlin不要求语句或者表达式属于一个方法,也不要求方法一定要属于一个类。(其底层实际上会自动将其包装成一个类,但是我们不需要自己做这件事)

  • try-catch是可选的。在Kotlin中,不会强迫你捕获异常,如果未放置try-catch且函数崩溃了,异常将会自动地传到代码的调用方。

定义变量

Kotlin中定义变量是采取 可变类型 参数名:参数类型的格式的。
由于有更加智能的类型推导,Kotlin可能并不会在你定义变量时强制你显式地写出变量类型,但是你必须指定该变量是可变变量还是不可变变量。

val 和 var

val 和 var 是kotlin相比Java不同的点。 如果要定义一个不可变的变量(实际上是引用不可变)使用val,否则使用var。

    比如:  
        val pi = 3.14
    或者
        val pi:Double = 3.14

这里有一个经典的原则:我们优先使用不可变(val)变量,如果在后续代码中你发现需要改变该变量的值再改成可变(var)的。因为这可以避免变量被意外地修改。

改进的相等性检查

有两种相等性的检查,分别对应引用是否相同和结构(内容)是否相同

  • == 双等号 :用于判断内容是否相同,类似equals方法但是它可以安全地处理空引用
  • === 三等号: 用于判断引用是否相同,直接等价于Java中的==

字符串模板

Kotlin中的新的内容,以往我们如果想要创建带有表达式内嵌值的字符串需要用+,比如

"Welcome " + name + " !" ;

而现在,我们可以用字符串模板实现。在双引号字符串中,$符号可以作为任何变量的前缀来将其转化为表达式。如果表达式比简单变量更复杂,则需要使用${}表达式包裹。
对于上面这个例子,我们就可以:

val na = "Nick"
println("Welcome, ${na} !")

原生字符串

以三个引号开始
原生字符串就是没有转义的字符串,但是它会保留缩进。

比如说如果没有原生字符串:

    val s = "The kid asked, \"How's it going, $name?\""

如果是原生字符串:
val s = “”" The kid asked,“How’s it going, $name?”“”"

就消除了原本的字符串的转义。

但是需要注意的是原生字符串会保留缩进,在大段输入的情况下可能会出现格式的错乱,这种时候需要用到trimMargin方法修正。

try-catch 表达式

Kotlin把try-catch也视为一个表达式。若无异常,try部分的最后一个表达式将作为表达式的值;若出现异常,catch部分的最后一个表达式则将作为表达式的值。(与finally无关)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值