原文: https://www.programiz.com/kotlin-programming/examples/alphabet
fun main(args: Array<String>) {
val c = '*'
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')
println("$c is an alphabet.")
else
println("$c is not an alphabet.")
}运行该程序时,输出为:
* is not an alphabet.与 Java 一样,在 Kotlin 中,char变量存储字符的 ASCII 值(0 到 127 之间的数字)而不是字符本身。
小写字母的 ASCII 值从 97 到 122。大写字母的 ASCII 值从 65 到 90。
这就是原因,我们在'a'(97)与'z'(122)之间比较变量c。 同样,我们进行相同的操作以检查'A'(65)至'Z'(90)之间的大写字母。
以下是该程序的等效 Java 代码:检查字符是否为字母的 Java 程序
您可以使用范围代替比较来解决此问题。
fun main(args: Array<String>) {
val c = 'a'
if (c in 'a'..'z' || c in 'A'..'Z')
println("$c is an alphabet.")
else
println("$c is not an alphabet.")
}运行该程序时,输出为:
a is an alphabet.您甚至可以使用when表达式来代替问题。
fun main(args: Array<String>) {
val c = 'C'
when {
(c in 'a'..'z' || c in 'A'..'Z') -> println("$c is an alphabet.")
else -> println("$c is not an alphabet.")
}
}运行该程序时,输出为:
C is an alphabet.