在此程序中,您將學(xué)習(xí)在Kotlin中檢查給定字符是否為字母。這可以通過(guò)if else語(yǔ)句或使用when表達(dá)式來(lái)完成。
fun main(args: Array<String>) { val c = '*' if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') println("$c 是一個(gè)字母.") else println("$c 不是一個(gè)字母.") }
運(yùn)行該程序時(shí),輸出為:
* 不是一個(gè)字母.
與Java一樣,在Kotlin中,char變量存儲(chǔ)字符的ASCII值(0到127之間的數(shù)字)而不是字符本身。
小寫字母的ASCII值從97到122。大寫字母的ASCII值從65到90。
這就是為什么,我們要在a(97)和z(122)之間比較變量c。同樣,我們也檢查'A'(65)到'Z'(90)之間的大寫字母。
以下是該程序的等效Java代碼:檢查字符是否為字母的Java程序
您可以使用 范圍 而不是比較來(lái)解決此問(wèn)題。
fun main(args: Array<String>) { val c = 'a' if (c in 'a'..'z' || c in 'A'..'Z') println("$c 是一個(gè)字母.") else println("$c 不是一個(gè)字母.") }
運(yùn)行該程序時(shí),輸出為:
a 是一個(gè)字母.
您甚至可以使用when表達(dá)式來(lái)代替問(wèn)題。
fun main(args: Array<String>) { val c = 'C' when { (c in 'a'..'z' || c in 'A'..'Z') -> println("$c 是一個(gè)字母.") else -> println("$c 不是一個(gè)字母.") } }
運(yùn)行該程序時(shí),輸出為:
C 是一個(gè)字母.