跳到主要内容

Java程序检查字符是否是字母

要理解此示例,您应该具备以下 Java 编程 主题的知识:

示例 1:使用 if else 检查字符是否为字母的 Java 程序

public class Alphabet {

public static void main(String[] args) {

char c = '*';

if( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
System.out.println(c + " 是字母。");
else
System.out.println(c + " 不是字母。");
}
}

输出

* 不是字母。

在 Java 中,char 变量存储字符的 ASCII 值(介于 0 到 127 之间的数字),而不是字符本身。

小写字母的 ASCII 值从 97 到 122,大写字母的 ASCII 值从 65 到 90。即,字母 a 存储为 97,字母 z 存储为 122。同样,字母 A 存储为 65,字母 Z 存储为 90

现在,当我们将变量 c 与 'a' 到 'z' 和 'A' 到 'Z' 进行比较时,变量与字母的 ASCII 值 97 到 122 和 65 到 90 分别进行比较。

由于 * 的 ASCII 值不在字母的 ASCII 值范围内。因此,程序输出 * 不是字母

您也可以使用 Java 中的三元运算符解决这个问题。

示例 2:使用三元运算符检查字符是否为字母的 Java 程序

public class Alphabet {

public static void main(String[] args) {

char c = 'A';

String output = (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
? c + " 是字母。"
: c + " 不是字母。";

System.out.println(output);
}
}

输出

A 是字母。

在上述程序中,if else 语句被三元运算符(? :)替换。

示例 3:使用 isAlphabetic() 方法检查字符是否为字母的 Java 程序

class Main {
public static void main(String[] args) {

// 声明一个变量
char c = 'a';

// 检查 c 是否为字母
if (Character.isAlphabetic(c)) {
System.out.println(c + " 是字母。");
}
else {
System.out.println(c + " 不是字母。");
}
}
}

输出

a 是字母。

在上述示例中,请注意表达式,

Character.isAlphabetic(c)

这里,我们使用了 Character 类的 isAlphabetic() 方法。如果指定变量是字母,则返回 true。因此,执行 if 块内的代码。