Kotlin基础认识 (4)数据类型

一、kotlin基本数据类型:

  • 整数类型:Byte、Short、Int 和 Long,其中 Int 是默认类型。
  • 浮点类型:Float 和 double,其中 Double 是默认类型。
  • 字符类型:Char 。
  • 布尔类型:Boolean 。

整数类型:Byte、Short、Int 和 Long,其中 Int 是默认类型。

整数类型 宽度/字节 取值范围
Byte 1 (8位) -128 ~ 127
Short 2 (16位) -2^{15} ~ 2^{15}-1
Int 4 (32位) -2^{31} ~ 2^{31}-1
Long 8 (64位) -2^{63} ~ 2^{63}-1
val a: Long = 10L       // 十进制
val b: Byte = 0b11100   // 二进制
val b1 = 0B11100        // 二进制
val c: Int = 0x123      // 十六进制
val c1 = 0X123          // 十六进制

浮点类型:Float 和 double,其中 Double 是默认类型。

浮点类型 宽度/字节
Float 4 (32位)
Double 8 (64位)
var a: Double = 10.01       // Double类型
var b: Float = 100f         // Float类型
var c = 100F                // Float类型

字符类型:Char 。

val c: Char = 'A'    // A
val c1 = '\u0041'    // A
val c2: Char = '花'  // 花

注意:为了表示一些特殊字符,前面要加上反斜杠 (\) ,这称为字符转义。

字符标示 Unicode编码 说明
\t \u0009 水平制表符tab
\n \u000a 换行
\r \u000d 回车
\" \u0022 双引号
\' \u0027 单引号
\\ \u005c 反斜线
\$ \u0024 美元符
\b \u0008 退格

布尔类型:Boolean 。

val isMain = true
var isMan: Boolean = false

二、数值类型之间的转换

  • kotlin赋值,只能进行显示转换
val byteNum: Byte = 16
val shortNum: Short = byteNum    // 编译错误,不能进行隐式转换
显示转换方法:
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
val byteNum: Byte = 16
// val shortNum: Short = byteNum    // 编译错误
val shortNum: Short = byteNum.toShort()

var intNum = 16
val longNum: Long = intNum.toLong()
intNum = longNum.toInt()            // 可能出现精度丢失

val doubleNum = 10.8
println("doubleNum.toInt : " + doubleNum.toInt())  // Double类型转换Int类型,结果是 10

val charNum = 'A'
println("charNum.toInt : " + charNum.toInt())  // Char类型转换Int类型,结果是 65

val longNum = 666666666L
println("longNum : " + longNum) 
println("longNum.toInt : " + longNum.toInt())  // 结果是-1923267926,精度丢失
  • 数学计算,可以进行隐式转换

计算过程中隐式转换类型的转换规则

操作数1类型 操作数2类型 转换后的类型
Byte Byte Int
Byte Short Int
Byte、Short Int Int
Byte、Short、Int Long Long
Byte、Short、Int、Long Float Float
Byte、Short、Int、Long、Float Double Double
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容