目录
- 基础数据类型
- 整型
- Byte
- Short
- Int
- Long
- 浮点
- Float
- Double
- 整型
- 字符类型
- 布尔类型
- 基础数据运算
- 类型间相互转换
整数类型
| 类型 | 位宽 | 最小值 | 最大值 |
|---|---|---|---|
| Byte | 8 | -128 | 127 |
| Short | 16 | -32768 | 32767 |
| Int | 32 | -2,147,648(-2^31) | 2,147,647(2^31-1) |
| Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,775,807 (2^63-1) |
可以通过psvm快速生成main方法.
- 如何声明一个基本数据类型的变量,有哪些方式?
//基本数据类型的默认类型均为Int,如果超过Int的取值范围,则会推断为Long
//编辑器会根据赋值[100],推断变量number数据类型为Int
val number = 100
//虽然没有明确指定变量bigNumber的数据类型
//但是编译器会根据赋值发现[8000000000]已经超过了Int的最大值,
//所以bigNumber的数据类型会升级为Long
val bigNumber = 8000000000
//在赋值的数字的后面加上L,会自动推断为Long类型
val longNumber = 20L
//可以指定类型
val byteNumber: Byte = 1
Float,Double浮点类型
| 类型 | 位宽 |
|---|---|
| Float | 32 |
| Double | 64 |
//默认是Double类型
val doubleNumber = 3.1415926
//尾部加f或F显示表示这是一个Float类型的浮点数
val float floatNumber = 3.1415926666f
Kotlin与Java不同的是,Kotlin中数字不存在隐式拓宽转换.比如一个函数参数为Double的函数只能接收Double类型,不能接收Float,Int或者其他数字类型
字符类型,布尔类型
//字符类型,赋值单引号
val char: Char = '0'
//布尔类型
val isVisible: Boolean = false
字符串类型
//字符串类型,赋值用双引号
val str: String = "1234567"
//访问某个元素,取出的元素类型是char类型的
val strNumber = str[0]
//字符串模版
//直接取值用$
val number = 100
println("The Result is $number")
//也可以用表达式用${}
val text = "This is text"
println("Text length is ${text.length}")
//kotlin不支持反斜杠转义,可以用模版语法
val price = "${'$'}9.99"
//字符串的连接操作
print("I am" + 10 + "years old!")
字符串的值
//kotlin有两种类型的字符串字面值:转义字符串可以有转义字符,以及原始字符串可以包含换行以及任何其他文本.
//\n换行
val s = "Hello, world!\n"
//\反斜杠对“”进行转义,保留字符串格式
val s2 = "{\"key\":\"value\"}"
//字符串使用三个引号“”“分界符括起来.内部没有转义并且可以包含换行以及任何其他字符:
val text = """
for (c in "foo")
print(c)
"""
//可以通过trimMargin()函数去除前导空格.trimIndent()等.
val text = """
|Tell me and I forget
|AAA
|bbb {"key": "value"}
""".trimMargin()
类型强制转换
//声明一个整形 number对象
val number = 100
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
...