Kotlin學習快速入門(1)——基本數據類型以及String常用方法使用


本文適合有Java基礎的人

Kotlin語法特點

相比java,省略括號,可以自動判斷類型,省略new關鍵字,空指針捕獲

主函數

kotlin文件(kt文件)中,只有要下列的方法,就可以運行,無需像之前的java那般,還要定義個類,寫上main方法

fun main(args: Array<String>) {
    println("hello world")
}

基本數據類型

這是說是基本數據類型,其實下面的這些都是kotlin封裝好的類,就是相當於Java中的Integer,FLoat等包裝類,數值會自動包裝。

這樣的好處就是,數值是一個對象,可以保證不會出現空指針。

類型 位寬度
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

注意,kotlin中的字符類型Char不屬於基本數據類型

由於是對象,所以比較得比較內容,kotlin中封裝了=====兩個運算符供我們比較不同的內容和對象地址

=== 表示比較對象地址,兩個 == 表示比較兩個值(內容)大小

類型轉換:

上面的基本數據類型都有下面的方法,負責類型轉換

  • toByte(): Byte
  • toShort(): Short
  • toInt(): Int
  • toLong(): Long
  • toFloat(): Float
  • toDouble(): Double
  • toChar(): Char
//顯示轉換
val num: Byte =1
val num1 = num.toInt

變量聲明

兩個關鍵字:

  • val 聲明一個只讀常量
  • var 聲明一個變量

val相當於使用了java中的final關鍵字修飾變量(聲明常量)
var就是和之前聲明

//聲明一個整型常量num,數值為12,之后無法對num進行賦值操作
val num: Int = 12
//kotlin的自動判斷類型特性,上面的式子也可以這樣寫
val num = 12

//聲明一個常量,賦值過一次之后,無法再次對常量進行賦值
val num: Int
num = 12
//kotlin的基本數據類型變量,還可以加上“_”來便於閱讀,不影響數值
//下面的num還是一個Int類型的數據
val num = 1_000_000
//小數也可以加上“_”
val num = 1.02_120

字符串String

普通用法

//和java一樣,字符串里可以包含轉義字符
val str = "hello world\n"
println(str)

特殊用法

//里面的\n也會打印出來
val str = """hello world\n"""
println(str)
//去除前面的“|”
val text = """
    |Tell me and I forget.
    |Teach me and I remember.
    |Involve me and I learn.
    |(Benjamin Franklin)
    """.trimMargin()

//去除前面的“>”
val text = """
    >Tell me and I forget.
    >Teach me and I remember.
    >Involve me and I learn.
    >(Benjamin Franklin)
    """.trimMargin(">")	

字符串模板:

$開頭,后面可接一個變量,或者是用花括號,里面寫一個表達式

val num = 5
val text = "i = $num"//輸出“i=5”

val text = "the length = ${arrays.length}"

//顯示$,$不支持轉義
val price = "${'$'}9.99"
println(price)

屬性

lastIndex(最后的下標值),length

常用方法

以下加粗的方法都是kotlin中String新增加的方法

方法 描述
String [index] 取String的指定下標的元素
**String first() ** 取第一個元素
**String last() ** 取最后一個元素
indexOf
indexLastOf
String plus(text) 和“+”效果一樣,連接字符串
Boolean equals(text[,ignoreCase]) 第二個參數不寫,相當於之前說的“==”比較內容,第二個參數為true,則忽略內容大小寫就行比較
String substring(startIndex[,endIndex])
String substringBefore() 截取第一個出現的字符串前面的字符串內容
String substringAfter() 截取第一個出現的字符串后面的字符串內容
String substringBeforeLast() 截取最后一個出現的字符串前面面的字符串內容
String substringAfterLast() 截取最后一個出現的字符串后面的字符串內容
replace() 替換
replaceFirst() 替換第一個出現的字符串
replaceBefore() 替換第一個出現的字符串前面的內容
replaceAfter() 替換第一個出現的字符串后面的內容
replaceBeforeLast() 替換最后一個出現的字符串前面的內容
replaceAfterLast() 替換最后一個出現的字符串后面的內容
spilt()
Boolean isBlank() 字符串是否全是空格
Boolean isEmpty() 字符串長度是否為0,為0返回true
String reversed() 字符串反轉
String startsWith()
String endsWith()
String trim() 清除空格
String drop(int) 刪除頭部的幾個元素並返回
String dropLast(int) 刪除末尾的幾個元素並返回

常用方法例子

replaceFirst()等:

val s = "this is starsone"
//替換第一個is之前的內容
println(s.replaceBefore("is", "are"))//輸出為areis is starsone
//替換第一個is之后的內容
println(s.replaceAfter("is", "are"))//輸出為thisare
//替換最后一個is之前的內容
println(s.replaceBeforeLast("is", "are"))//輸出為areis starsone
//替換最后一個is之后的內容
println(s.replaceAfterLast("is", "are"))//輸出為this isare

isBlank和isEmpty:

val text = " "
println(text.isBlank())//輸出為true
println(text.isEmpty())//輸出為fasle

drop和dropLast:

val text = "hello"
println(text.drop(2))//輸出為llo
println(text.dropLast(2))//輸出為hel

substringBefore等:

val text = "this is starsone"
//截取第一個is之前的內容
println(text.substringBefore("is"))
//截取最后一個is之前的內容
println(text.substringBeforeLast("is"))//注意,這里還包括空格
//截取第一個出現的is后面的內容
println(text.substringAfter("is"))
//截取最后一個出現的is后面的內容
println(text.substringAfterLast("is"))

參考鏈接 關於字符串(String)常用操作匯總
kotlin text(有關於string的各種方法介紹)
kotlin api文檔
菜鳥教程 kotlin基本類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM