kotlin笔记_基础数据类型

1. 数值类型

kotlin提供了如下的内置数据类型

数据类型     占用字节数
Double 8
Float 4
Long 8
Int 4
Short 2
Byte 1

使用kotlin内置数据类型定义的一些变量和常亮示例:

var m : Int = 20
var price : Double = 10.6
var flag : Boolean = true
val v1 : Int = 10
val v2 : Double = 10.0

kotlin整数的默认类型是Int,浮点数的默认类型是Double。在Kotlin中,数值类型不支持强转,需要使用Kotlin提供的一系列方法实现不同类型的转换。
toByte():转换到Byte类型
toShort():转换到Short类型
toInt():转换到Int类型
toLong():转换到Long类型
toFloat():转换到Float类型
toDouble():转换到Double类型
toChar():转换到Char类型
不同类型相互转换的例子:

var m = 20
var n : Byte = 10
m = n.toInt()
var x : Long = 20
var value : Short = 20
m = value.toInt()

Kotlin提供了一些数据类型特殊表示方法,用于表示Long和Float类型的值,以及16进制和二进制。
1. 表示Long类型的值,在数值后面加L或l,如123L
2. 表示Float类型的值,在数值后面加F或f,123.1F
3. 表示16进制,在数值前面加0x,例如0x1F
4. 表示二进制,在数值前面加0b,例如0b10001
kotlin提供了下划线作为数值分隔符,分隔符可以任意插入到数值之间,至于如何插入,可以根据数值具体表示内容决定。
例如:

val oneMillion = 1_000_000
val creditCardNumber = 1234_5656_9012_1234L

2. 字符类型

kotlin使用Char描述字符类型,在kotlin中字符类型不能直接看做是数字,这是和Java有所区别的,kotlin的字符也可以使用单引号表示。

private fun check(m : Char) {
    if(m == 'a')
        println("m == a: " + true)
}

kotlin支持反斜杠(\)转义符,常用的特殊字符如下:
\t:制表符
\b:退格符
\n:换行符
\r:回车符
\’:单引号
\”:双引号
\\:反斜杠
可以使用toInt方法将字符串转换为相应的ASCII,将数值字符转换为对应的数值

private fun decimalDigitValue(c : Char) : Int {
    if(c !in '0'..'9')
        throw IllegalArgumentException("Out of range")
    return c.toInt() - '0'.toInt()
}

3. 布尔类型

Kotlin使用Boolean描述布尔类型,该类型有2个值:true和false,布尔类型有3种操作:逻辑或(||),逻辑与(&&)和逻辑非(!)。

var flag1 : Boolean = true
val flag2 : Boolean = false
if(flag1 && !flag2)
    println("true")

4. 数组

kotlin使用Array类描述,在该类中包含了get和set方法,size属性以及其他成员方法。
定义数组有多种方式,使用arrayOf函数定义可以存储任意值的数组;使用arrayOfNulls函数定义指定长度的空数组;使用Array类的构造器指定数组长度和初始化数据的方式定义数据;使用intArrayOf、shortArrayOf等函数定义指定类型的数组,并初始化数组。

val arr1 = arrayOf(1, 2, 3, '4')
println(arr1[3])
arr1[2] = 'b'
println(arr1[2])

var arr2 = arrayOfNulls<Int>(10)
println("arr2 size: " + arr2.size)

var arr3 = Array(10, {i ->
    (i * i).toString()
})
println(arr3[5])

var arr4 : IntArray = intArrayOf(10, 20, 30)
println(arr4[1])

5. 字符串

kotlin使用String表示字符串类型,有如下2种字符串:
普通字符串:类似于java字符串,可以在字符串中加上转义符,如\n,会让转义字符后面的字符串换到下一行,这种字符串需要放在双引号中。
保留格式字符串:这种字符串不能使用转义字符,如果字符串有格式,直接卸载字符串中即可,这种字符串需要放在3个引号中。

var s1 = "hello\nwrold"
var s2 = """
    hello
    world
"""
println(s1)
println(s2)

6. 字符串模板

所谓字符串模板,就是在字符串中添加若干个占位符,内容会在后面指定。
模板使用美元符号$设置,美元符号后面可以跟变量,也可以使用表达式,使用表达式需要用${表达式}的形式。

val i = 10
val s1 = "i = $i"
println(s1)

val s2 = "abc"
val str = "$s2 length: ${s2.length}"
println(str)


 

发布了70 篇原创文章 · 获赞 16 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/qq282330332/article/details/95301045