基本类型
在 Kotlin 中一切都是对象,可以在任何变量上调用其成员函数和属性
对于基本类型,Kotlin 相对于 Java 有几点特殊的地方
- 数字、字符和布尔值可以在运行时表示为原生类型值,但对开发者来说,它们看起来就像普通的类
- Kotlin 对于数字没有隐式拓宽转换,而在 Java 中 int 可以隐式转换为 long
- 在 Kotlin 中字符不能视为数字
- Kotlin 不支持八进制
//在 Kotlin 中,int、long、float等类型仍然存在,但是是作为对象存在的
val intIndex: Int = 100
//等价于
//val intIndex = 100,编译器会自动进行类型推导
//数字类型不会自动转型,必须要进行明确的类型转换
val doubleIndex: Double = intIndex.toDouble()
//以下代码会提示错误,需要进行明确的类型转换
//val doubleIndex: Double = intIndex
//Char 不能直接作为数字来处理,需要主动转换
val ch: Char = 'c'
val charValue: Int = ch.toInt()
//以下代码会提示错误
//val charValue: Int = ch
字符串模板
字符串模板以美元符号($)开头,既可以包含变量,也可以包含表达式,会自动求值并把结果合并到字符串中
val intValue = 100
//可以直接包含变量
println("intValue value is $intValue") //intValue value is 100
//也可以包含表达式
println("(intValue + 100) value is ${intValue + 100}") //(intValue + 100) value is 200
如果你需要在原始字符串中表示字面值($)字符(它不支持反斜杠转义),可以用下列语法:
val price = "${'$'}100.99"
println(price) //$100.99