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

小万哥
• 阅读 831

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,关注后即可获取最新文章推送

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

点赞
收藏
评论区
推荐文章
半臻 半臻
3年前
Python基础2——类型转换、深浅拷贝、函数
8、类型转换、深浅拷贝8.1数据转换数据类型int整型float浮点数bool布尔值complex复数str字符串list列表tuple元组dict字典set集合python类型转换int()numint("123")ifnum123:print("等于123")num123nstr(num)
Wesley13 Wesley13
2年前
java四类八种基本类型
整型byte字节型short短整型int            普通整型long长整型浮点型float        单精度double    双精度逻辑型boolean 只有true或者false两个值字符型char字符型
隔壁老王 隔壁老王
3年前
我的C语言基础
C语言32个关键字auto声明自动变量short声明短整型变量或函数int声明整型变量或函数long声明长整型变量或函数float声明浮点型变量或函数double声明双精度变量或函数char声明字符型变量或函数struct声明结构体变量或函数union声明共用数据类型enum声明枚举类型typedef用以给数据类型取别名co
Wesley13 Wesley13
2年前
java中的包装类
把int类型转换为double的方法需要通过把int类型通过IntegeranewInteger(数字);建立一个对象a,再通过我们学过的对象.方法来把数据的int类型转换为double类型,实现方法为doubleba.doubleValue();数字b就成了double类型了,想通了就不难了ZKJ成本难看
Wesley13 Wesley13
2年前
java 知识点 小结
1. Java8种基本类型:byte char shortint long double float booleanByte:8位Short:16位Int:32位Long:64位Float:32位Double:64位2. ListsetmapList:有序;
Wesley13 Wesley13
2年前
MongoDB 数据类型
一.MongoDB之数据类型Object ID:Documents自动生成的\_id,插入数据时候会生成 \_id,唯一字段String:字符串,必须是utf8Boolean:布尔值,true或者falseInteger:整数(Int32Int64你们就知道有个Int就行了,一般我们用Int32)Doub
Wesley13 Wesley13
2年前
C++类型转换
隐式转换在赋值给一个兼容类型会出现隐式类型转换.比如下面这个例子.shorta2000;intb;ba;在以上例子中.值从short自动提升到int,这是标准转换。标准转换影响基本数据类型,它在类型数字类型之间(short to int, int to float, double t
Wesley13 Wesley13
2年前
JAVA基本类型和引用类型
一、基本数据类型java中一共分为8种基本数据类型:byte、short、int、long、float、double、char、boolean,其中byte、short、int、long是整型。float、double是浮点型,char是字符型,boolean是布尔型。二、引用类型j
小万哥 小万哥
1年前
Java基础知识:面试官必问的问题
数据类型基本类型byte/8char/16short/16int/32float/32long/64double/64boolean/boolean只有两个值:true、false,可以使用1bit来存储,但是具体大小没有明确规定。JVM会在编译时期将bo
小万哥 小万哥
7个月前
掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南
C变量变量是用于存储数据值的容器。在C中,有不同类型的变量(用不同的关键字定义),例如:int存储整数(没有小数点的整数),如123或123double存储浮点数,有小数点,如19.99或19.99char存储单个字符,如'a'或'B'。Char值用单引号