kotlin学习笔记-数据类型 数字 numbers
整数类型
感觉 平时用 Int
就行了, 除非是特殊场景需要优化性能,否则感觉用不到 Byte
Short
遇到很长的 就用 Long
那如果 要处理比 Long
更大的数呢? 就用 BigInteger
类, 但是这个类不是 kotlin 标准库的一部分,需要导入 import java.math.BigInteger
类型 | 大小(比特数) | 最小值 | 最大值 |
---|
Byte | 8 | -128 | 127 |
Short | 16 | -32768 | 32767 |
Int | 32 | -2,147,483,648 (-231) | 2,147,483,647 (231 - 1) |
Long | 64 | -9,223,372,036,854,775,808 (-263) | 9,223,372,036,854,775,807 (263 - 1) |
浮点数类型
和其他语言差不多,就是处理小数的, 可承受范围不一样
类型 | 大小(比特数) | 有效数字比特数 | 指数比特数 | 十进制位数 |
---|
Float | 32 | 24 | 8 | 6-7 |
Double | 64 | 53 | 11 | 15-16 |
数字常量中的下划线
在数字里加下划线主要是方便 人眼辨势,方便阅读,不会影响程序的执行结果
数字类型的互相转换
不同类型的数字不能直接赋值,需要转换
调用数字的方法,把数字转换为其他类型
toByte(): Byte
// 转换为Byte
toShort(): Short
// 转换为Short
toInt(): Int
// 转换为Int
toLong(): Long
// 转换为Long
toFloat(): Float
// 转换为Float
toDouble(): Double
// 转换为Double
数字运算
就是其他语言都支持的 四则运算, 没啥难点
位运算
这位运算 就是 infix 修饰的函数
我平时用不到位运算,所以就不花时间学了,知道有这个东西就行了
shl(bits)
– signed shift left
shr(bits)
– signed shift right
ushr(bits)
– unsigned shift right
and(bits)
– bitwise AND
or(bits)
– bitwise OR
xor(bits)
– bitwise XOR
inv()
– bitwise inversion
ref
https://book.kotlincn.net/text/numbers.html