Kotlin有两个变量相关的关键字:val和var
var是一个可变的变量,可通过指向另一个值(value)
初始变量
var name: String
var variables-name : Type
name = "kotlin"
定义的var变量可以被再指定
var name = "kotlin"
name = "more kotlin"
关键字val被用来声明一个只读变量,val在被创建时必须要进行初始化
val name = "kotlin"
只读变量并不意味着实例本身是自动不可变的。实例可能仍然允许通过函数或属性更改其成员变量,但是变量本身不能更改其值,也不能重新分配给另一个值。
——————————————————————————————
即使Kotlin是一个强类型语言,我们也不用总是明确的声明类型
编译器会自动的通过表达信息来判定类型(Type inference)
这种判定不仅用于values和variables,它也可以被使用在闭包中,可以从函数签名中推断出参数的类型,也可用用在单线函数中通过返回value的表达式来判断
例:fun plusOne(x: Int) = x + 1
——————————————————————————————
Numbers
Type Width
Long 64
Int 32
Short 16
Byte 8
Double 64
Float 32
如何创建逐步创建Numbers?
val int = 123
val long = 123456L
val double = 12.34
val float = 12.34F
val hexadecimal = 0xAB
val binary = 0b01010101
每个数字都有一个函数,可以将值转换为另一个数字类型
val int = 123
val long = int.toLong()
val float = 12.34F
val double = float.toDouble()
如此以上的类型转换函数都有toByte(), toShort(), toInt(),
toLong(), toFloat(), toDouble(), toChar()
Booleans
kotlin的布尔型符合通常的否定,同时(且)和析取操作
val x = 1
val y =2
val z = 2
val isTrue = x < y && x < z
val alsoTrue = x == y || y ==z
Char(characters类型)
char类型代表单一字符,例如 A or Z
char同时也支持特殊转义字符:\t, \b, \n, \r, \’, \”, \ 和 $(一律使用反斜杠)
String
String是不可变对象
String包含转义字符的转义字符串和包含有多行任意文本的原生字符串
转义字符串
val a = "Hello,World!\n"
原生字符串
val rawString = " " "
String支持利用循环迭选
for (c in "foo")
print(c)
Arrays
在Kotlin可以通过使用内部函数arrayod()来创建数组
*val array = arrayof(1, 2, 3)