美文网首页我爱编程
2、Kotlin基础(操作符)

2、Kotlin基础(操作符)

作者: 北方素素 | 来源:发表于2018-06-18 19:53 被阅读0次

首先我们需要知道,学习任何一门语言都离不开查阅她的官方文档,那么Kotlin的官方文档地址为:

http://kotlinlang.org/docs/reference/

首先我们来学习kotlin中的操作符,首先从加减乘除开始~

在REPL中输入1+1,接下来按下ctrl+enter(以后就用执行来代替这个组合键了),看看结果是不是出来了呢~肯定不会错的。

同理,我们还可以实验其他运算。

有一个需要注意的地方,乘法使用*,除法使用/,1/2的结果会为0,如果使用1.0/2.0,结果为0.5

同样,我们可以这样定义一个变量:

val fish=2

fish.times(6)

times是乘的意思,所以上面输出的结果为2乘6,是12

同理,还有div(除),plus(加),minus(减)

然后介绍了box操作(java里叫做“装箱”,反正我觉得叫box更好,中文翻译一点艺术性也没有)。

比如我们可以执行下面的代码:

1.toLong()

val boxed:Number=1

boxed.toLong()

box操作实际上是将一个原始变量(简单变量)变成一个对应的对象,这样就能使用这些对象的方法。

这里我们还学到了,单行注释使用//

接下来介绍的是kotlin中的可变变量和不可变变量,也就是其他语言中的变量和常量。

其中,变量可以随时修改,常量一旦有值了就不能再修改。

常量使用val定义,变量使用var定义(value和variable的前三个字母)

其中,如果某个变量的类型被决定了,也不能随便更改其类型。比如fish已经被赋值为一个数字,那么就不能再把字符串赋值给他。

同样的,我们也不能这样写:

var b:Byte=1

var i:Int=b

因为他们的类型不同,一个是Byte,一个是Int

但是,我们可以进行类型转换,这样就没毛病了:

var i:Int=b.toInt()

Kotlin其实有一个对于数字非常方便的写法,比如有一长串数字1000000

我们可以写成

val oneMillion=1_000_000

同理,对于16进制数字或者比特位同样有效

然后,我们不能随便把一个null赋值给一个Int对象,比如这样是不允许的:

var rocks:Int=null

但是我们这样写就可以了:

var rocks:Int?=null

下面是关于list(列表)的一些null相关:

//元素可以为null,列表不能为null

var lotsOfFish: List<String?> =listOf(null,null)

//列表可以为null,元素不能为null

var everMoreFish : List<String>?=null

//列表和元素都可以为null

var definitelvFish:List<String?>?=null

然后,我们可以使用?来判断一个对象是否为null,比如:

val l=b?.length?:-1

实际上等同于:

val l:Int=if(b!=null) b.length else -1

就是:如果b不为null,那么返回b的length,否则返回-1

使用两个叹号!!来当一个对象为null时抛出异常(两个叹号的作用是将任何类型转为非空:non-null类型):

b!!.length

如果b为null,则会引发一个异常

我觉得关于null这里还是挺麻烦的,所以找来了官方文档以供参考:

http://kotlinlang.org/docs/reference/null-safety.html#nullable-types-and-non-null-types

相关文章

  • Kotlin语法基础(四)

    Kotlin语法基础篇(四) 相关链接: kotlin语言中操作符的重载 一、操作符及其重载 操作符分类可简单分为...

  • Kotlin流程控制语句笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin泛型笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin与Java互操作笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin协程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin空指针安全(null-safety)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin函数式编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin面向对象编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin类型系统笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin委托(Delegation)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

网友评论

    本文标题:2、Kotlin基础(操作符)

    本文链接:https://www.haomeiwen.com/subject/zeaneftx.html