Kevin Learn Kotlin:数据类型
![](https://img.haomeiwen.com/i9134822/fb7948344b19dbcf.jpg)
Kotlin 是什么?
Kotlin 是一门用于现代多平台应用的静态编程语言,其中被广泛应用于 Android 平台开发,被称之为 Android 世界的 Swift。它由大名鼎鼎的 JetBrains 公司设计开发并开源,著名的 IDE 工具 IntelliJ IDEA 就是他们的产品,所以无疑他们对编程语言设计领域最为熟悉的专家。
Kotlin 从 2016 年发布了 1.0 正式版,这代表着 Kotlin 已经足够成熟和稳定了。
为什么要优先使用 Kotlin 进行 Android 开发?
在 2019 年 Google I/O 大会上,谷歌宣布 Kotlin 作为 Android 的首选开发语言。
优点:
- 富有表现力且简洁
- 更安全的代码
- 可互操作
- 结构化并发
![](https://img.haomeiwen.com/i9134822/4aa23e70dee988ad.png)
Kotlin 数据类型
![](https://img.haomeiwen.com/i9134822/f35934c13a2b7920.png)
1. 基本数据类型
Kotlin 整型数据类型包括 Byte、Short、Int、Long、Float、Double
![](https://img.haomeiwen.com/i9134822/e0b009c6b517c7e6.png)
2. Float、Double 浮点类型
Kotlin 中提供了 Float 和 Double 两种类型来分别表示单精度和双精度的浮点数类型。
![](https://img.haomeiwen.com/i9134822/98cf9bf5823ddf20.png)
提示:如果需要保留小数点后面六位以内我们就用 Float ;如果需要保留小数点后面六位以上我们就要用 Double 。
3. 字符类型
在 Kotlin 中字符用 Char 类型表示,字符的值需要用单引号括起来:'Z'、'a'、'3'。
4. 布尔类型
在 Kotlin 中使用 Boolean 表示布尔类型,它只有两个值 true 和 false 。注意可空类型 Boolean? 类型会存在装箱操作。
5. 字符串类型
在 Kotlin 中字符串用 String 类型表示。字符串是不可变的。 字符串的元素--字符可以使用索引运算符访问:s[i] 。可以用 for 循环迭代字符串。
![](https://img.haomeiwen.com/i9134822/33ce05d2192cb04f.png)
6. 类型强制转换
在 Kotlin 中与 Java 不同是通过调用 toInt、toDouble、toFloat 之类函数来实现数字类型的强制转换。
![](https://img.haomeiwen.com/i9134822/2c8dbcb3f0a89358.png)
7. 四则运算
- 除法 / :
val num = 3 / 2
println(num) // 输出 1
val flotNum = 3 / 2.toFloat()
println(flotNum) // 输出 1.5
- 乘法 * :
val num = 3 * 2
println(num) // 输出 6
- 加法 + :
val num = 3 + 2
println(num) // 输出 5
- 减法 - :
val num = 3 - 2
println(num) // 输出 1
- 取余 % :
val num = 3 % 2
println(num) // 输出 1
8. 位运算
Kotlin 中的位运算和 Java 不同,是没有特殊符号来表示,可以采用中缀函数方式调用具名函数。
- shl(bits) -有符号左移 【shl 是 Shift Logical Left 的缩写】
- shr(bits) - 有符号右移
- ushr(bits) - 无符号右移
- and(bits) - 位与
- or(bits) - 位或
- inv(bits) - 位非
-
xor(bits) - 位异或
12.png
变量和函数
1. 变量
在 Kotlin 中,变量的声明以关键字 val/var 开始,然后是变量名称,最后可以加上类型(不加也可以),这里分为两种情况:
- 如果指定了初始化器,那么在不指定类型的情况下,编译器会分析初始化器表达式的值,并把它的类型作为变量的类型,例如下面两个就分别为 Int 和 Double 类型:
fun test() {
val dValue = 1e6
val iValue = 8
println("dValue = $dValue,iValue = $iValue")
}
- 如果没有指定初始化器,需要显示地指定它的类型,因为此时编译器无法推断出它的类型。
fun test() {
val eValue : Int
val eValue = 8
println("eValue = $eValue")
}
1.1 可变变量和不可变变量
(1) 不可变引用 val
使用 val 声明的变量不能在初始化之后再次赋值,它对应的是 Java 的 final 变量。
默认情况下,应该尽可能地使用 val 关键字来声明所有的 Kotlin 变量。在定义了 val 变量的代码块执行期间, val 变量只能进行唯一一次初始化,但是,如果编译器能确保唯一一条初始化语句会被执行,可以根据条件使用不同的值来初始化它。
(2) 可变引用 var
这种变量的值可以改变,但是它的类型却是改变不了的。
1.2 字符串模板
- Kotlin 可以在字符串字面值中引用局部变量,只需要在变量名称前面加上字符 $。
fun test() {
val eValue : Int
val eValue = 8
println("eValue = $eValue")
}
- 如果要在字符串中使用 $,需要对它进行转义。
fun test() {
val money = 100
println("I hava \$$money")
}
- 如果引用更加复杂的表达式,只需要把表达式用花括号扩起来。
fun main() {
val add = add('A', 'B', 'C')
println("result:${add}")
}
2. 函数
在 Kotlin 中,函数的基本结构由四个部分构成:
- 函数名称
- 参数列表
- 返回类型
- 函数体
说明:函数的声明以关键字 fun 开始,函数名称 紧随其后,接下来是括号括起来的参数列表,参数列表的后面跟着 返回类型,返回类型和参数列表之间用冒号隔开,最后是函数体。
![](https://img.haomeiwen.com/i9134822/20337e080fd5ffa8.png)