• Kotlin 数据类型详解:数字、字符、布尔值与类型转换指南


    Kotlin 数据类型

    在 Kotlin 中,变量的类型由其值决定:

    示例

    val myNum = 5 // Int
    val myDoubleNum = 5.99 // Double
    val myLetter = 'D' // Char
    val myBoolean = true // Boolean
    val myText = "Hello" // String

    然而,从上一章中你了解到,如果需要的话,可以指定类型:

    示例

    val myNum: Int = 5 // Int
    val myDoubleNum: Double = 5.99 // Double
    val myLetter: Char = 'D' // Char
    val myBoolean: Boolean = true // Boolean
    val myText: String = "Hello" // String

    有时你必须指定类型,而很多时候则不需要。不管怎样,了解不同类型代表什么是有好处的。

    稍后你将了解何时需要指定类型。

    数据类型分为不同的组:

    • 数字
    • 字符
    • 布尔值
    • 字符串
    • 数组

    数字

    数字类型分为两组:

    整数类型存储整数,正数或负数(如 123 或 -456),不带小数。有效类型为 Byte、Short、Int 和 Long。

    浮点类型表示带有小数部分的数字,包含一个或多个小数点。有两种类型:Float 和 Double。

    如果不为数字变量指定类型,则大多数情况下会返回 Int 用于整数和 Double 用于浮点数。

    整数类型

    Byte

    Byte 数据类型可以存储从 -128 到 127 的整数。这可以在你确定值在 -128 到 127 范围内时替代 Int 或其他整数类型以节省内存:

    示例

    val myNum: Byte = 100
    println(myNum)

    Short

    Short 数据类型可以存储从 -32768 到 32767 的整数:

    示例

    val myNum: Short = 5000
    println(myNum)

    Int

    Int 数据类型可以存储从 -2147483648 到 2147483647 的整数:

    示例

    val myNum: Int = 100000
    println(myNum)

    Long

    Long 数据类型可以存储从 -9223372036854775807 到 9223372036854775807 的整数。当 Int 不足以存储值时使用。可选地,你可以在值后加 "L":

    示例

    val myNum: Long = 15000000000L
    println(myNum)

    Int 和 Long 的区别

    只要一个整数不超过 2147483647 就是 Int。如果超出这个范围,则定义为 Long:

    示例

    val myNum1 = 2147483647 // Int
    val myNum2 = 2147483648 // Long

    浮点类型

    浮点类型表示带小数的数字,如 9.99 或 3.14515。

    Float 和 Double 数据类型可以存储小数:

    Float 示例

    val myNum: Float = 5.75F
    println(myNum)

    Double 示例

    val myNum: Double = 19.99
    println(myNum)

    使用 Float 还是 Double?

    浮点值的精度表示小数点后的位数。Float 的精度只有六到七位小数,而 Double 变量的精度大约为 15 位。因此,大多数计算使用 Double 更安全。

    还要注意,Float 类型的值应以 "F" 结尾。

    科学计数法

    浮点数也可以是科学计数法的形式,用 "e" 或 "E" 表示 10 的幂:

    示例

    val myNum1: Float = 35E3F
    val myNum2: Double = 12E4
    println(myNum1)
    println(myNum2)

    布尔值

    布尔数据类型只能取值 true 或 false:

    示例

    val isKotlinFun: Boolean = true
    val isFishTasty: Boolean = false
    println(isKotlinFun) // 输出 true
    println(isFishTasty) // 输出 false

    布尔值主要用于条件测试,你将在后续章节中学习更多。

    字符

    Char 数据类型用于存储单个字符。字符值必须用单引号括起来,如 'A' 或 'c':

    示例

    val myGrade: Char = 'B'
    println(myGrade)

    与 Java 不同,你不能使用 ASCII 值显示某些字符。值 66 在 Java 中会输出 "B",但在 Kotlin 中会产生错误:

    示例

    val myLetter: Char = 66
    println(myLetter) // 错误

    字符串

    String 数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来:

    示例

    val myText: String = "Hello World"
    println(myText)

    你将在字符串章节中学习更多关于字符串的内容。

    数组

    数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。

    你将在数组章节中学习更多关于数组的内容。

    类型转换

    类型转换是将一种数据类型的值转换为另一种类型。

    在 Kotlin 中,数字类型转换与 Java 不同。例如,不能使用以下代码将 Int 类型转换为 Long 类型:

    示例

    val x: Int = 5
    val y: Long = x
    println(y) // 错误:类型不匹配

    要将一种数字数据类型转换为另一种类型,必须使用以下函数之一:toByte()、toShort()、toInt()、toLong()、toFloat()、toDouble() 或 toChar():

    示例

    val x: Int = 5
    val y: Long = x.toLong()
    println(y)

    最后

    为了方便其他设备和平台的小伙伴观看往期文章:

    微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

    看完如果觉得有帮助,欢迎 点赞、收藏、关注

  • 相关阅读:
    三农数据(1996-2020)十:农林牧渔业总产值、分项产值、各种农作物播种面积
    CentOS和Ubantu的Mysql主从配置
    即时通讯开发之Netty入门长文
    zookeeper客户端的使用和集群特性
    MATLAB图像处理工具箱的高级算法详解
    OceanBase:中国场景推动树立分布式数据库四项新标准
    redux-react多组件进行数据共享
    python - 进程、线程、协程
    .ssh/config
    普冉PY32系列(五) 使用JLink RTT代替串口输出日志
  • 原文地址:https://www.cnblogs.com/xiaowange/p/18261273