原文: https://www.programiz.com/kotlin-programming/examples/alphabet

在此程序中,您将学习检查给定字符是否为字母。 这是在 Kotlin 中使用if else语句或when表达式完成的。

示例 1:使用if来检查字母

  1. fun main(args: Array<String>) {
  2. val c = '*'
  3. if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')
  4. println("$c is an alphabet.")
  5. else
  6. println("$c is not an alphabet.")
  7. }

运行该程序时,输出为:

  1. * 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 程序


您可以使用范围代替比较来解决此问题。

示例 2:使用if else和范围来检查字母

  1. fun main(args: Array<String>) {
  2. val c = 'a'
  3. if (c in 'a'..'z' || c in 'A'..'Z')
  4. println("$c is an alphabet.")
  5. else
  6. println("$c is not an alphabet.")
  7. }

运行该程序时,输出为:

  1. a is an alphabet.

您甚至可以使用when表达式来代替问题。

示例:使用when检查字母

  1. fun main(args: Array<String>) {
  2. val c = 'C'
  3. when {
  4. (c in 'a'..'z' || c in 'A'..'Z') -> println("$c is an alphabet.")
  5. else -> println("$c is not an alphabet.")
  6. }
  7. }

运行该程序时,输出为:

  1. C is an alphabet.