示例1:使用其他代码检查字母的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
变量存储(0和127之间号)的字符的ASCII值,而不是字符本身。
小写字母的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中使用三元运算符解决问题。
示例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:Java程序使用isAlphabetic()方法检查字母
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
块中的代码。