Kotlin基本类型
Kotlin基本类型包括,Byte、Short、Int、Long、Float、Double 、布尔等。在Kotlin中字符不是数值类型
类型 | 字宽 |
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
字面常量
- 十进制:123
- 长整型以L结尾:123L
- 16进制以0x开头:0x0f
- 2进制以0b开头:0b01001
kotlin不支持8进制
kotlin也支持传统的浮点型
- Doubles:默认123.34,123.5e10
- Floats:使用f或F后缀
两个数字的比较
在kotlin中没有基本的数据类型只有封装的数字类型,当你定义一个变量时,其实kotlin帮你封装成为了一个对象,这样保证不会出现空指针。其实比较两个数字类型,就有比较数字大小和两个对象是否相等这两种。
比较两个对象地址是否相等在kotlin中用===,两个==表示两个数值是否相等。
var a:Int = 100
print(a === a)//比较对象地址 true
//创建了两个不同的对象
var boxA:Int = a
var boxB:Int = a
print(boxA === boxB)//false返回的地址不一样
print(boxA == boxB)//true 比较两个对象的值是否相等
类型转换
由于不同的表达方式,短类型不是长类型的子类。短类型不能直接隐式转换成长类型,所以在不进行显式转换的情况下不能将Byte的值赋值给Int变量
val t1:Byte = 1
var t2:Int = t1//错误
val t1:Byte = 1
var t2:Int = t1.toInt()//显式转换
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
val l = 100L+1 //Long + Int = Long
字符
和java不一样,kotlin不能直接与数字进行操作。Char必需用单引用进行包信起来。如:‘a’,'b'
fun test(value : Char){
if(value == 1){//错误
}
}
字符字面值用单引用:'1',
特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、\'、\"、\\ 和 \$
我们可以将字符显示的转化成Int数字
fun test(value : Char){
value.toInt()
}
布尔
布尔用 Boolean 类型表示,它有两个值:true 和 false。
字符串
字符串用String表示,字符串是不变的,字符串中的元素可以通过s[i]来获取,也可以通过for循环来遍历。
fun test(value : String){
for (s in value){
print(s)
}
}
Kotlin 支持三个引号 """ 扩起来的字符串,支持多行字符串,
val text = """
多行字符串
多行字符串
"""
print(text.trimMargin())//删除前置空格
数组
数组用Array实现,可以通过下标来获取或设置数组的值。数组创建的两种方式:一种通过函数arrayOf(),另一个通过工厂函数实现创建。
//[1,2,3]
val a = arrayOf(1,2,3)
//[0,2,4,6]
val b = Array(4,{i->(i*2)})