?

人不走空
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??????🌈個人主頁:人不走空??????
💖系列專欄:算法專題
?詩詞歌賦:斯是陋室,惟吾德馨
?
?
Kotlin基本數值類型
基本數據類型包括 Byte、Short、Int、Long、Float、Double?
整數類型
類型 | 位寬 | 最小值 | 最大值 |
---|---|---|---|
Byte | 8 | -128 | 127 |
Short | 16 | -32768 | 32767 |
Int | 32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
val number = 100 //默認是 Int 類型
val bigNumber = 8000000000 //超過 Int 最大值默認是 Long 類型
val longNumber = 20L //數字后面顯式加L,表示聲明 Long 類型
val byteNumber:Byte = 1
?
?Tips
?
所有未超出?Int
?最大值的整型值初始化的變量都默認為Int
類型,如果初始值超過了其最大值,那么推斷為Long
類型。在數字值后面顯式添加L
表示一個Long
類型
Float、Double浮點類型
Kotlin 中提供了?Float
?和?Double
?兩種類型來分別表示單精度和雙精度的浮點數類型。
類型 | 位寬 |
---|---|
Float | 32 |
Double | 64* |
val doubleNumber = 3.1415928888 //默認是Double類型
val floatNumber = 3.1415928888f //尾部加f或F顯式表示這是一個Float類型的浮點數
?
?Tips
?
Kotlin 對于小數的默認推斷是Double
類型。如果需要顯式將一個小數指定為Float
類型需要在數值尾部加入f
或F
。由于Float
類型十進制位數是6位
,所以上述例子中floatNumber
實際值大小為3.1415926
,后面就會出現進度丟失舍棄。
在 Kotlin 中還有一點與 Java 不同的是,Kotlin 中數字不存在隱式的拓寬轉換。比如一個函數參數為Double
?的函數只能接收?Double
?類型,不能接收?Float
、Int
?或者其他數字類型
字符類型
在 Kotlin 中字符用?Char
?類型表示
fun testChar(char: Char) {if(char == 4) {...}//此處會提示類型不匹配的異常
}
字符的值需要用單引號括起來:?'0'
、'9'
。
fun decimalDigitValue(c: Char): Int {if (c !in '0'..'9')throw IllegalArgumentException("Out of range")return c.toInt() - '0'.toInt() // 顯式轉換為數字
}
布爾類型
在 Kotlin 使用Boolean
表示布爾類型,它只有兩個值?true
?和?false
。注意可空類型Boolean?
類型會存在裝箱操作。
val isVisible: Boolean = falseval isVisible = false //自動推斷為布爾Boolean類型
字符串類型
在 Kotlin 中字符串用?String
?類型表示。字符串是不可變的。 字符串的元素——字符可以使用索引運算符訪問:?s[i]
。 可以用?for?循環迭代字符串:
val str="1234567890"for(char in str) {println(char)
}
字符串模板
字符串字面值可以包含模板表達式?,即一些小段代碼,會求值并把結果合并到字符串中。 模板表達式以美元符($
)開頭,由一個簡單的名字構成:
val number = 100
println("The Result is $number")
或者用花括號${}
括起來的任意表達式:
val text = "This is Text"
println("Text length is ${text.length}")
字符串與轉義字符串內部都支持模板。 如果你需要在原始字符串中表示字面值?$
?字符(它不支持反斜杠轉義),你可以用下列語法:
val price = "${'$'}9.99"
和 Java 一樣,Kotlin 可以用?+
?操作符連接字符串。這也適用于連接字符串與其他類型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
字符串的值
Kotlin 有兩種類型的字符串字面值:轉義字符串可以有轉義字符, 以及原始字符串可以包含換行以及任意文本。以下是轉義字符串的一個示例:
val s = "Hello, world!\n" // \n換行
val s2= "{\"key\":\"value\"}" // \反斜杠對""進行轉義,保留字符串格式
字符串使用三個引號("""
)分界符括起來,內部沒有轉義并且可以包含換行以及任何其他字符:
val text = """for (c in "foo")print(c)
"""
還可以通過?trimMargin()?函數去除前導空格:
val text = """|Tell me and I forget.|Teach me and I remember.|{"key1": "value1"}|{"key2": "value2"}""".trimMargin()
類型強制轉換
在 Kotlin 中與 Java 不同是通過調用?toInt、toDouble、toFloat
?之類函數來實現數字類型的強制轉換的。
類型 | 強轉函數 |
---|---|
Byte | toByte() |
Short | toShort() |
Int | toInt() |
Long | toLong() |
Float | toFloat() |
Double | toDouble() |
Char | toChar() |
val number =100 //聲明一個整形 number對象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
數字運算
四則運算
除法/
:
val number = 3 / 2
println(number) // 輸出 1val floatNumber = 3 / 2.toDouble()
println(number) // 輸出 1.5
乘法*
:
val number = 3 * 2
println(number) // 輸出 6
加法+
:
val number = 3 + 2
println(number) // 輸出 5
減法-
:
val number = 3 - 2
println(number) // 輸出 1
取余%
:
val number = 3 % 2
println(number) // 輸出 1
位運算
Kotlin 中的位運算和 Java 不同的是沒有用特殊符號來表示,可以采用了中綴函數方式調用具名函數。
shl(bits)
?– 有符號左移【shl是Shift Logical Left的縮寫】shr(bits)
?– 有符號右移ushr(bits)
?– 無符號右移and(bits)
?– 位與or(bits)
?– 位或inv()
?– 位非xor(bits)
?– 位異或
val vip= true
val admin= falseval result = vip and(admin) =false val result = 8 ushr(2) = 2
AS4.0及以上版本kotlin項目無法運行java-main方法解決方案
<option?name="delegatedBuild"?value="false"?/>
Kotlin基本數值類型
基本數據類型包括 Byte、Short、Int、Long、Float、Double?
整數類型
類型 | 位寬 | 最小值 | 最大值 |
---|---|---|---|
Byte | 8 | -128 | 127 |
Short | 16 | -32768 | 32767 |
Int | 32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
val number = 100 //默認是 Int 類型
val bigNumber = 8000000000 //超過 Int 最大值默認是 Long 類型
val longNumber = 20L //數字后面顯式加L,表示聲明 Long 類型
val byteNumber:Byte = 1
?
?Tips
?
所有未超出?Int
?最大值的整型值初始化的變量都默認為Int
類型,如果初始值超過了其最大值,那么推斷為Long
類型。在數字值后面顯式添加L
表示一個Long
類型
Float、Double浮點類型
Kotlin 中提供了?Float
?和?Double
?兩種類型來分別表示單精度和雙精度的浮點數類型。
類型 | 位寬 |
---|---|
Float | 32 |
Double | 64 |
val doubleNumber = 3.1415928888 //默認是Double類型
val floatNumber = 3.1415928888f //尾部加f或F顯式表示這是一個Float類型的浮點數
?
?Tips
?
Kotlin 對于小數的默認推斷是Double
類型。如果需要顯式將一個小數指定為Float
類型需要在數值尾部加入f
或F
。由于Float
類型十進制位數是6位
,所以上述例子中floatNumber
實際值大小為3.1415926
,后面就會出現進度丟失舍棄。
在 Kotlin 中還有一點與 Java 不同的是,Kotlin 中數字不存在隱式的拓寬轉換。比如一個函數參數為Double
?的函數只能接收?Double
?類型,不能接收?Float
、Int
?或者其他數字類型
字符類型
在 Kotlin 中字符用?Char
?類型表示
fun testChar(char: Char) {if(char == 4) {...}//此處會提示類型不匹配的異常
}
字符的值需要用單引號括起來:?'0'
、'9'
。
fun decimalDigitValue(c: Char): Int {if (c !in '0'..'9')throw IllegalArgumentException("Out of range")return c.toInt() - '0'.toInt() // 顯式轉換為數字
}
布爾類型
在 Kotlin 使用Boolean
表示布爾類型,它只有兩個值?true
?和?false
。注意可空類型Boolean?
類型會存在裝箱操作。
val isVisible: Boolean = falseval isVisible = false //自動推斷為布爾Boolean類型
字符串類型
在 Kotlin 中字符串用?String
?類型表示。字符串是不可變的。 字符串的元素——字符可以使用索引運算符訪問:?s[i]
。 可以用?for?循環迭代字符串:
val str="1234567890"for(char in str) {println(char)
}
字符串模板
字符串字面值可以包含模板表達式?,即一些小段代碼,會求值并把結果合并到字符串中。 模板表達式以美元符($
)開頭,由一個簡單的名字構成:
val number = 100
println("The Result is $number")
或者用花括號${}
括起來的任意表達式:
val text = "This is Text"
println("Text length is ${text.length}")
字符串與轉義字符串內部都支持模板。 如果你需要在原始字符串中表示字面值?$
?字符(它不支持反斜杠轉義),你可以用下列語法:
val price = "${'$'}9.99"
和 Java 一樣,Kotlin 可以用?+
?操作符連接字符串。這也適用于連接字符串與其他類型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
字符串的值
Kotlin 有兩種類型的字符串字面值:轉義字符串可以有轉義字符, 以及原始字符串可以包含換行以及任意文本。以下是轉義字符串的一個示例:
val s = "Hello, world!\n" // \n換行
val s2= "{\"key\":\"value\"}" // \反斜杠對""進行轉義,保留字符串格式
字符串使用三個引號("""
)分界符括起來,內部沒有轉義并且可以包含換行以及任何其他字符:
val text = """for (c in "foo")print(c)
"""
還可以通過?trimMargin()?函數去除前導空格:
val text = """|Tell me and I forget.|Teach me and I remember.|{"key1": "value1"}|{"key2": "value2"}""".trimMargin()
類型強制轉換
在 Kotlin 中與 Java 不同是通過調用?toInt、toDouble、toFloat
?之類函數來實現數字類型的強制轉換的。
類型 | 強轉函數 |
---|---|
Byte | toByte() |
Short | toShort() |
Int | toInt() |
Long | toLong() |
Float | toFloat() |
Double | toDouble() |
Char | toChar() |
val number =100 //聲明一個整形 number對象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
數字運算
四則運算
除法/
:
val number = 3 / 2
println(number) // 輸出 1val floatNumber = 3 / 2.toDouble()
println(number) // 輸出 1.5
乘法*
:
val number = 3 * 2
println(number) // 輸出 6
加法+
:
val number = 3 + 2
println(number) // 輸出 5
減法-
:
val number = 3 - 2
println(number) // 輸出 1
取余%
:
val number = 3 % 2
println(number) // 輸出 1
位運算
Kotlin 中的位運算和 Java 不同的是沒有用特殊符號來表示,可以采用了中綴函數方式調用具名函數。
shl(bits)
?– 有符號左移【shl是Shift Logical Left的縮寫】shr(bits)
?– 有符號右移ushr(bits)
?– 無符號右移and(bits)
?– 位與or(bits)
?– 位或inv()
?– 位非xor(bits)
?– 位異或
val vip= true
val admin= falseval result = vip and(admin) =false val result = 8 ushr(2) = 2
AS4.0及以上版本kotlin項目無法運行java-main方法解決方案
<option?name="delegatedBuild"?value="false"?/>
Kotlin基本數值類型
基本數據類型包括 Byte、Short、Int、Long、Float、Double?
整數類型
類型 | 位寬 | 最小值 | 最大值 |
---|---|---|---|
Byte | 8 | -128 | 127 |
Short | 16 | -32768 | 32767 |
Int | 32 | -2,147,483,648 (-2^31) | 2,147,483,647 (2^31 - 1) |
Long | 64 | -9,223,372,036,854,775,808 (-2^63) | 9,223,372,036,854,775,807 (2^63 - 1) |
val number = 100 //默認是 Int 類型
val bigNumber = 8000000000 //超過 Int 最大值默認是 Long 類型
val longNumber = 20L //數字后面顯式加L,表示聲明 Long 類型
val byteNumber:Byte = 1
?
?Tips
?
所有未超出?Int
?最大值的整型值初始化的變量都默認為Int
類型,如果初始值超過了其最大值,那么推斷為Long
類型。在數字值后面顯式添加L
表示一個Long
類型
Float、Double浮點類型
Kotlin 中提供了?Float
?和?Double
?兩種類型來分別表示單精度和雙精度的浮點數類型。
類型 | 位寬 |
---|---|
Float | 32 |
Double | 64 |
val doubleNumber = 3.1415928888 //默認是Double類型
val floatNumber = 3.1415928888f //尾部加f或F顯式表示這是一個Float類型的浮點數
?
?Tips
?
Kotlin 對于小數的默認推斷是Double
類型。如果需要顯式將一個小數指定為Float
類型需要在數值尾部加入f
或F
。由于Float
類型十進制位數是6位
,所以上述例子中floatNumber
實際值大小為3.1415926
,后面就會出現進度丟失舍棄。
在 Kotlin 中還有一點與 Java 不同的是,Kotlin 中數字不存在隱式的拓寬轉換。比如一個函數參數為Double
?的函數只能接收?Double
?類型,不能接收?Float
、Int
?或者其他數字類型
字符類型
在 Kotlin 中字符用?Char
?類型表示
fun testChar(char: Char) {if(char == 4) {...}//此處會提示類型不匹配的異常
}
字符的值需要用單引號括起來:?'0'
、'9'
。
fun decimalDigitValue(c: Char): Int {if (c !in '0'..'9')throw IllegalArgumentException("Out of range")return c.toInt() - '0'.toInt() // 顯式轉換為數字
}
布爾類型
在 Kotlin 使用Boolean
表示布爾類型,它只有兩個值?true
?和?false
。注意可空類型Boolean?
類型會存在裝箱操作。
val isVisible: Boolean = falseval isVisible = false //自動推斷為布爾Boolean類型
字符串類型
在 Kotlin 中字符串用?String
?類型表示。字符串是不可變的。 字符串的元素——字符可以使用索引運算符訪問:?s[i]
。 可以用?for?循環迭代字符串:
val str="1234567890"for(char in str) {println(char)
}
字符串模板
字符串字面值可以包含模板表達式?,即一些小段代碼,會求值并把結果合并到字符串中。 模板表達式以美元符($
)開頭,由一個簡單的名字構成:
val number = 100
println("The Result is $number")
或者用花括號${}
括起來的任意表達式:
val text = "This is Text"
println("Text length is ${text.length}")
字符串與轉義字符串內部都支持模板。 如果你需要在原始字符串中表示字面值?$
?字符(它不支持反斜杠轉義),你可以用下列語法:
val price = "${'$'}9.99"
和 Java 一樣,Kotlin 可以用?+
?操作符連接字符串。這也適用于連接字符串與其他類型的值。
val age = 28
println("I am " + age + "years old!")
println("I am $age years old!")
字符串的值
Kotlin 有兩種類型的字符串字面值:轉義字符串可以有轉義字符, 以及原始字符串可以包含換行以及任意文本。以下是轉義字符串的一個示例:
val s = "Hello, world!\n" // \n換行
val s2= "{\"key\":\"value\"}" // \反斜杠對""進行轉義,保留字符串格式
字符串使用三個引號("""
)分界符括起來,內部沒有轉義并且可以包含換行以及任何其他字符:
val text = """for (c in "foo")print(c)
"""
還可以通過?trimMargin()?函數去除前導空格:
val text = """|Tell me and I forget.|Teach me and I remember.|{"key1": "value1"}|{"key2": "value2"}""".trimMargin()
類型強制轉換
在 Kotlin 中與 Java 不同是通過調用?toInt、toDouble、toFloat
?之類函數來實現數字類型的強制轉換的。
類型 | 強轉函數 |
---|---|
Byte | toByte() |
Short | toShort() |
Int | toInt() |
Long | toLong() |
Float | toFloat() |
Double | toDouble() |
Char | toChar() |
val number =100 //聲明一個整形 number對象
number.toString()
number.toByte()
number.toShort()
number.toLong()
number.toFloat()
number.toDouble()
....
數字運算
四則運算
除法/
:
val number = 3 / 2
println(number) // 輸出 1val floatNumber = 3 / 2.toDouble()
println(number) // 輸出 1.5
乘法*
:
val number = 3 * 2
println(number) // 輸出 6
加法+
:
val number = 3 + 2
println(number) // 輸出 5
減法-
:
val number = 3 - 2
println(number) // 輸出 1
取余%
:
val number = 3 % 2
println(number) // 輸出 1
位運算
Kotlin 中的位運算和 Java 不同的是沒有用特殊符號來表示,可以采用了中綴函數方式調用具名函數。
shl(bits)
?– 有符號左移【shl是Shift Logical Left的縮寫】shr(bits)
?– 有符號右移ushr(bits)
?– 無符號右移and(bits)
?– 位與or(bits)
?– 位或inv()
?– 位非xor(bits)
?– 位異或
val vip= true
val admin= falseval result = vip and(admin) =false val result = 8 ushr(2) = 2
AS4.0及以上版本kotlin項目無法運行java-main方法解決方案
<option?name="delegatedBuild"?value="false"?/>
?
作者其他作品:
【Java】Spring循環依賴:原因與解決方法
OpenAI Sora來了,視頻生成領域的GPT-4時代來了
[Java·算法·簡單] LeetCode 14. 最長公共前綴 詳細解讀
【Java】深入理解Java中的static關鍵字
[Java·算法·簡單] LeetCode 28. 找出字a符串中第一個匹配項的下標 詳細解讀
了解 Java 中的 AtomicInteger 類
算法題 — 整數轉二進制,查找其中1的數量
深入理解MySQL事務特性:保證數據完整性與一致性
Java企業應用軟件系統架構演變史
?