天天看點

kotlin筆記_基礎資料類型1. 數值類型2. 字元類型3. 布爾類型4. 數組5. 字元串6. 字元串模闆

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)