不断学习,做更好的自己!💪

【Kotlin -- 知识点】数据类型_kotlin

Kotlin 是什么?

Kotlin 是一门用于现代多平台应用的静态编程语言,其中被广泛应用于 Android 平台开发,被称之为 Android 世界的 Swift。它由大名鼎鼎的 JetBrains 公司设计开发并开源,著名的 IDE 工具 IntelliJ IDEA 就是他们的产品,所以无疑他们对编程语言设计领域最为熟悉的专家。

Kotlin 从 2016 年发布了 1.0 正式版,这代表着 Kotlin 已经足够成熟和稳定了。

为什么要优先使用 Kotlin 进行 Android 开发?

在 2019 年 Google I/O 大会上,谷歌宣布 Kotlin 作为 Android 的首选开发语言。
优点:

  • 富有表现力且简洁
  • 更安全的代码
  • 可互操作
  • 结构化并发

【Kotlin -- 知识点】数据类型_kotlin_02

Kotlin 数据类型

【Kotlin -- 知识点】数据类型_android_03

1. 基本数据类型
Kotlin 整型数据类型包括 Byte、Short、Int、Long、Float、Double
【Kotlin -- 知识点】数据类型_android_04

2. Float、Double 浮点类型
Kotlin 中提供了 Float 和 Double 两种类型来分别表示单精度和双精度的浮点数类型。
【Kotlin -- 知识点】数据类型_字符串_05
提示:如果需要保留小数点后面六位以内我们就用 Float ;如果需要保留小数点后面六位以上我们就要用 Double 。

3. 字符类型
在 Kotlin 中字符用 Char 类型表示,字符的值需要用单引号括起来:‘Z’、‘a’、‘3’。

4. 布尔类型
在 Kotlin 中使用 Boolean 表示布尔类型,它只有两个值 true 和 false 。注意可空类型 Boolean? 类型会存在装箱操作。

5. 字符串类型
在 Kotlin 中字符串用 String 类型表示。字符串是不可变的。 字符串的元素–字符可以使用索引运算符访问:s[i] 。可以用 for 循环迭代字符串。
【Kotlin -- 知识点】数据类型_初始化_06

6. 类型强制转换
在 Kotlin 中与 Java 不同是通过调用 toInt、toDouble、toFloat 之类函数来实现数字类型的强制转换。
【Kotlin -- 知识点】数据类型_字符串_07

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) - 位异或
    【Kotlin -- 知识点】数据类型_kotlin_08

变量和函数

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 开始,函数名称 紧随其后,接下来是括号括起来的参数列表,参数列表的后面跟着 返回类型,返回类型和参数列表之间用冒号隔开,最后是函数体。
【Kotlin -- 知识点】数据类型_字符串_09