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)


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章