首先推荐一个学习Kotlin的网站:Kotlin 官方参考文档 中文版
变量:
Val: 定义只读局部变量使用关键字val定义。只能为其赋值一次。
Var:可重新赋值的变量使用var关键字。
Kotlin提供了一组内置类型:
声明如下:
Val i: Int = 1;
也可以这样(直接在该值后加L):
val oneLong = 1L
对于以小数初始化的变量,编译器会推断为 Double 类型。 如需将一个值显式指定为 Float 类型,请添加 f 或 F 后缀。 如果这样的值包含多于 6~7 位十进制数,那么会将其舍入,如:
val eFloat = 2.7182818284f // Float,实际值为 2.7182817
小拓展:
具有 Double 参数的函数只能对 Double 值调用,而不能对 Float、 Int 或者其他数字值调用,如需将数值转换为不同的类型,请使用显示转换。
显式转换(较小的类型不能隐式转换为较大的类型):
字符用 Char 类型表示,它不能直接当作数字(但可以显示转换)。
字符字面值用单引号括起来: ‘1’, 特殊字符可以用反斜杠转义,支持这几个转义序列:\t、 \b、\n、\r、’、"、\ 与 $。
编码其他字符要用 Unicode 转义序列语法:’\uFF00’。
布尔用 Boolean 类型表示,它有两个值:true 与 false。
内置的布尔运算有:
Kotlin为无符号整数引入以下类型(无符号类型自 Kotlin 1.3 起才可用,并且目前是实验性的,将类型从无符号类型更改为对应的有符号类型(反之亦然)是二进制不兼容变更):
字符串:
- 字符串用 String 类型表示,字符串是不可变的,字符串的元素—— 字符可以使用索引运算符访问: s[i],还可以用 for循环迭代字符串
- 可以用 + 操作符连接字符串,这也适用于连接字符串与其他类型的值,只要表达式中的第一个元素是字符串(请注意,在大多数情况下,优先使用字符串模板或原始字符串而不是字符串连接)
字符串模板:
- 字符串字面值可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中,模板表达式以美元符($)开头,由一个简单的名字构成或者用花括号括起来的任意表达式
当需要可空引用时,像数字、字符,布尔会被装箱,装箱操作不会保留同一性。
小拓展二号:
运算:整数间的除法总是返回整数,如需返回浮点类型,请将其中的一个参数显式转换为浮点类型。
对于位运算,没有特殊字符来表示,而只可用中缀方式调用具名函数,例如:
val x = (1 shl 2) and 0x000FF000
完整的位运算列表: