🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 字面常量值 [TOC] ### 二进制基础 计算机只识别0和1 #### 计算机存储数据用二进制存储 * 1位二进制存储2种状态 * 2位二进制存储4种状态 * 3位二进制存储8种状态 * 4位二进制存储16种状态 * … * N位二进制存储2的N次方种状态 **数值常量字面值**表示: * 十进制: 123 * Long 类型,在数值后面加 L或者l,如 123L * Float类型,在数值后面加F或者f,如123.1F * 十六进制: 在数值前面加0x,如 0x0F * 二进制: 在数值前面加0b,如 0b00001011 >[info] 注意: Kotlin不支持八进制(而java以0开头表示八进制 07) Kotlin 同样⽀持浮点数的常规表示⽅法: ~~~ Long 用大写 L 标记: 123L Float 用 f 或 F 标记: 123.5f double: 123.5、123.5e10 ~~~ ### **类型判断(TypeInference)** 先看一段代码 ![](https://box.kancloud.cn/410ffc9e171c8acac995793bc00a3d66_644x218.jpg) 报错:“The integer literal does not conform to the expected type Int”,即这个给的数据不符合Int类型,Int类型的数据范围是-2^31~2^31-1,很明显,上面的数据超出了范围。 **编译器自动推断数据类型** ~~~ fun main(args: Array<String>) { var i = 18//计算机提供一块存储空间,名字叫i,里面存放数据为整数18 i = 19 var j = 99999999999 //计算机给我一块存储空间,名字叫j,存放的数据类型时长整型(-2^63~2^63-1) var s = "haha"//s就是一个存放字符串的空间 } ~~~ **显示类型声明** ~~~ fun main(args: Array<String>) { var i: Int = 18//计算机提供一块存储空间,名字叫i,里面存放数据为整数18 i = 19 var j: Long = 99999999999 //计算机给我一块存储空间,名字叫j,存放的数据类型时长整型(-2^63~2^63-1) var s: String = "haha"//s就是一个存放字符串的空间 } ~~~ **数字和字符串的区别** * 13:数字 * "13":字符串,双引号括起来就是字符串