有时需要指定类型,但通常不需要
一. 了解何时需要指定类型
1. 数据类型可以分为不同的组别:
- 数字
- 字符
- 布尔值
- 字符串
- 数组
2. 知识点
A. 数据类型分两类:
- 整数:Byte
、
Short、
Int和
Long - 浮点:
Float
和Double
如果没有为一个数字变量指定类型,它通常会被默认返回为 Int(用于整数)和 Double(用于浮点数)
B. 数值范围
- Byte:范围从 -128 到 127。
- Short:范围从 -32,768 到 32,767。
- Int:范围从 -2,147,483,648 到 2,147,483,647。
- Long:范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
这些类型的选择取决于需要存储的数值范围,使用合适的类型可以帮助节省内存
例如:Byte
1 | val myNum: Byte = 100 |
3. 知识点
A. Int 和 Long 的区别
一个整数在 2147483647 以内被定义为 Int。如果超过这个范围,它就被定义为 Long
1 | val myNum1 = 2147483647 // Int |
B. 浮点
浮点数值的精度表示该值在小数点后可以有多少位数字。
Float 类型的精度只有六到七位小数,而 Double 类型的变量精度大约为 15 位数字。
因此,对于大多数计算来说,使用 Double 会更安全
C. 科学计数法
浮点数也可以是科学计数法形式,使用 “e” 或 “E” 来表示 10 的幂
例如:
1.23e4
表示 1.23 × 10^4,即 12300。5.67E-3
表示 5.67 × 10^-3,即 0.00567。
1 | fun main() { |
D. Booleans
数据类型 Boolean 只能取 true 或 false 这两个值
E. char
Char 是用来存储单个字符的数据类型,需要存储一个字符(比如字母、数字或符号)时,会使用 Char 类型,Char 类型的值必须用单引号(’)包围
1 | fun main() { |
与 Java 不同,不能使用 ASCII 值来显示某些字符。
在 Java 中,值 66 会输出字符 “B”,但在 Kotlin 中会生成错误
String 类型的值必须用双引号括起来
二. 数据类型转换
与java不同,在 Kotlin 中,如果你想把一个 Int 类型的值转换为 Long 类型,你不能直接用 Int
类型的值来表示 Long
类型,因为这两者不是自动转换的。你需要显式地进行类型转换
要将数字数据类型转换为另一种类型,必须使用以下函数之一:toByte()
、toShort()
、toInt()
、toLong()
、toFloat()
、toDouble()
或 toChar()
。
例如:
1 | fun main() { |
补充:与 Java 对比篇
Java的 数据类型转换
1 | public class Main { |