示例 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 + " is an alphabet."); else System.out.println(c + " is not an alphabet."); } }
输出
* is not an alphabet.
在 Java 中,
char
变量存储字符的 ASCII 值(0 到 127 之间的数字)而不是字符本身。
小写字母的 ASCII 值是从 97 到 122、而大写字母的 ASCII 值是从 65 到 90。也就是说,字母
a 存储为 97 和字母
z 存储为 122。同样,字母
A 存储为 65,字母
Z 存储为 90。
现在,当我们比较 'a' 到 'z' 和 'A' 到 'Z' 之间的变量 c 时,该变量分别与字母表 97 到 122 和 65 到 90 的 ASCII 值进行比较。
由于
* 的 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 + " is an alphabet." : c + " is not an alphabet."; System.out.println(output); } }
输出
A is an alphabet.
在上面的程序中,if else 语句被替换为三元运算符(
? :
)。
示例 3: 使用 isAlphabetic() 方法检查字母的 Java 程序
class Main { public static void main(String[] args) { // declare a variable char c = 'a'; // checks if c is an alphabet if (Character.isAlphabetic(c)) { System.out.println(c + " is an alphabet."); } else { System.out.println(c + " is not an alphabet."); } } }
输出
a is an alphabet.
在上面的例子中,注意表达式,
Character.isAlphabetic(c)
这里,我们使用了
Character
类的
isAlphabetic()
方法。如果指定的变量是字母表,则返回
true
。因此,执行
if
块中的代码。