在此程序中,您将学习检查给定字符是否为字母。这是使用Java中的if...else语句或三元运算符完成的。
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”之间时,分别将其与字母97至122,65至90的ASCII值进行比较
由于*的ASCII值不介于字母的ASCII值之间。因此,程序输出 * 不是字母。
您也可以在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语句被三元运算符(? :)代替。
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块中的代码