数据类型
# Kotlin基本数值类型
基本数据类型包括 Byte、Short、Int、Long、Float、Double
类比Java,只是写法不同
在 Kotlin 中还有一点与 Java 不同的是,Kotlin 中数字不存在隐式的拓宽转换。比如一个函数参数为
Double
的函数只能接收Double
类型,不能接收Float
、Int
或者其他数字类型
所有未超出
Int
最大值的整型值初始化的变量都默认为Int
类型,如果初始值超过了其最大值,那么推断为Long
类型。在数字值后面显式添加L
表示一个Long
类型
# 字符串类型
在 Kotlin 中字符串用 String
类型表示。字符串是不可变的。 字符串的元素——字符可以使用索引运算符访问: s[i]
。 可以用 for 循环迭代字符串:
val str="1234567890"
for(char in str) {
println(char)
}
1
2
3
4
5
2
3
4
5
# 字符串模板
字符串字面值可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符($
)开头,由一个简单的名字构成:
val number = 100
println("The Result is $number")
1
2
2
或者用花括号${}
括起来的任意表达式:
val text = "This is Text"
println("Text length is ${text.length}")
1
2
2
字符串与转义字符串内部都支持模板。 如果你需要在原始字符串中表示字面值 $
字符(它不支持反斜杠转义),你可以用下列语法:
val price = "${'$'}9.99"
1
和 Java 一样,Kotlin 可以用 +
操作符连接字符串。这也适用于连接字符串与其他类型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
1
2
3
2
3
# 字符串的值
Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。以下是转义字符串的一个示例:
val s = "Hello, world!\n" // \n换行
val s2= "{\"key\":\"value\"}" // \反斜杠对""进行转义,保留字符串格式
1
2
2
字符串使用三个引号("""
)分界符括起来,内部没有转义并且可以包含换行以及任何其他字符:
val text = """
for (c in "foo")
print(c)
"""
1
2
3
4
2
3
4
还可以通过 trimMargin()
(opens new window) 函数去除前导空格:
val text = """
|Tell me and I forget.
|Teach me and I remember.
|{"key1": "value1"}
|{"key2": "value2"}
""".trimMargin()
1
2
3
4
5
6
2
3
4
5
6
# 类型强制转换
在 Kotlin 中与 Java 不同是通过调用函数来实现数字类型的强制转换的;而Java是前面写转换大括号实现
类型 | 强转函数 |
---|---|
Byte | toByte() |
Short | toShort() |
Int | toInt() |
Long | toLong() |
Float | toFloat() |
Double | toDouble() |
Char | toChar() |
val number =100 //声明一个整形 number对象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
编辑 (opens new window)
上次更新: 2021/10/31, 15:08:23