- Kotlin 教程
- Kotlin - 主页
- Kotlin - 概述
- Kotlin - 环境设置
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 评论
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流程
- Kotlin - 控制流
- Kotlin - if...Else 表达式
- Kotlin - When 表达式
- Kotlin - For 循环
- Kotlin - While 循环
- Kotlin - 中断并继续
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集
- Kotlin - 地图
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用的资源
- Kotlin - 讨论
Kotlin - 数据类型
Kotlin 数据类型是一种数据分类,它告诉编译器程序员打算如何使用数据。例如,Kotlin 数据可以是数字、字符串、布尔值等。
Kotlin 将所有事物视为对象,这意味着我们可以调用任何变量的成员函数和属性。
Kotlin 是一种静态类型语言,这意味着每个表达式的数据类型应该在编译时已知。
Kotlin 内置数据类型可分为以下几类:
数字
特点
细绳
布尔值
大批
(a) Kotlin 数字数据类型
Kotlin 数字数据类型用于定义保存数值的变量,它们分为两组: (a)整数类型存储整数,正数或负数 (b)浮点类型表示带有小数部分的数字,包含一个或多个小数点。
下表列出了所有 Kotlin 数字数据类型、定义其变量类型的关键字、变量占用的内存大小以及可以存储在这些变量中的值范围。
数据类型 | 大小(位) | 数据范围 |
---|---|---|
字节 | 8位 | -128 至 127 |
短的 | 16位 | -32768至32767 |
INT | 32位 | -2,147,483,648 至 2,147,483,647 |
长的 | 64位 | -9,223,372,036,854,775,808 至 +9,223,372,036,854,775,807 |
漂浮 | 32位 | 1.40129846432481707e-45 至 3.40282346638528860e+38 |
双倍的 | 64位 | 4.94065645841246544e-324 至 1.79769313486231570e+308 |
如果我们尝试在特定数据类型的变量中存储超过允许值的值,Kotlin 编译器会抱怨,因为运行时会发生溢出。
例子
以下示例展示了如何定义和访问不同的 Kotlin 数字数据类型:
fun main(args: Array<String>) { val a: Int = 10000 val d: Double = 100.00 val f: Float = 100.00f val l: Long = 1000000004 val s: Short = 10 val b: Byte = 1 println("Int Value is " + a) println("Double Value is " + d) println("Float Value is " + f) println("Long Value is " + l ) println("Short Value is " + s) println("Byte Value is " + b) }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
Int Value is 10000 Double Value is 100.0 Float Value is 100.0 Long Value is 1000000004 Short Value is 10 Byte Value is 1
(b) Kotlin 字符数据类型
Kotlin 字符数据类型用于存储单个字符,它们由Char关键字表示。Char 值必须用单引号括起来,例如“A”或“1”。
例子
以下示例展示了如何定义和访问 Kotlin Char 数据类型:
fun main(args: Array<String>) { val letter: Char // defining a Char variable letter = 'A' // Assigning a value to it println("$letter") }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
A
Kotlin 支持多种字符转义序列。当字符前面有反斜杠 (\) 时,称为转义序列,对编译器具有特殊含义。例如下面语句中的\n是一个有效字符,称为换行符
println('\n') //prints a newline character println('\$') //prints a dollar $ character println('\\') //prints a back slash \ character
Kotlin 支持以下转义序列:\t、\b、\n、\r、\'、\"、\\ 和 \$。
(c) Kotlin 字符串数据类型
字符串数据类型用于存储字符序列。字符串值必须用双引号 (" ") 或三引号 (""" """) 括起来。
Kotlin 中有两种可用的字符串 - 一种称为转义字符串,另一种称为原始字符串。
转义字符串在双引号 (" ") 内声明,并且可能包含转义字符,如 '\n'、'\t'、'\b' 等。
原始字符串在三引号 (""" """) 内声明,并且可以包含多行文本,没有任何转义字符。
fun main(args: Array<String>) { val escapedString : String = "I am escaped String!\n" var rawString :String = """This is going to be a multi-line string and will not have any escape sequence"""; print(escapedString) println(rawString) }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
I am escaped String! This is going to be a multi-line string and will not have any escape sequence
(d) Kotlin 布尔数据类型
布尔与其他编程语言一样非常简单。布尔数据类型只有两个值 - true或false。
fun main(args: Array<String>) { val A: Boolean = true // defining a variable with true value val B: Boolean = false // defining a variable with false value println("Value of variable A "+ A ) println("Value of variable B "+ B ) }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
Value of variable A true Value of variable B false
布尔值有一个可以为 null 的对应布尔值吗?可以存储空值,如下所示:
val boolNull: Boolean? = null
(e) Kotlin 数组数据类型
Kotlin 数组是同类数据的集合。数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
我们将在单独的一章中研究数组,现在让我们看一个示例来定义一个整数数组,然后访问它的一个元素。
fun main(args: Array<String>) { val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5) println("Value at 3rd position : " + numbers[2]) }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
Value at 3rd position : 3
Kotlin 数据类型转换
类型转换是将一种数据类型的值转换为另一种类型的过程。Kotlin 不支持将一种数值数据类型直接转换为另一种数值数据类型,例如,无法将 Int 类型转换为 Long 类型:
fun main(args: Array<String>) { val x: Int = 100 val y: Long = x // Not valid assignment println(y) }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
main.kt:3:18: error: type mismatch: inferred type is Int but Long was expected val y: Long = x // Not valid assignment
为了将数值数据类型转换为另一种类型,Kotlin 提供了一组函数:
toByte()
太短()
toInt()
toLong()
浮动()
toDouble()
toChar()
现在让我们再次重写上面的示例并尝试运行它:
fun main(args: Array<String>) { val x: Int = 100 val y: Long = x.toLong() println(y) }
当你运行上面的 Kotlin 程序时,它将生成以下输出:
100
测验时间(面试和考试准备)
答案:B
解释
我们将使用Double数据类型来定义 PI 来存储值 3.14。浮点数用于存储像 3.14F 这样的值
答案:A
解释
这是可用于定义整数的数据类型集(Byte、Short、Int、Long)。浮点型和布尔型不用于定义整数。
问题 5 - 以下关于 Kotlin 数据类型的说法哪一项是正确的:
B - 要将数字数据类型转换为另一种类型,您必须使用提供的辅助函数。
答案:D
解释
关于 Kotlin 数据类型的所有给定陈述都是正确的