在此程序中,您將學(xué)習(xí)檢查給定字符是否為字母。這是使用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 + " 不是字母。"); } }
輸出結(jié)果
* 不是字母。
在Java中,char變量存儲字符的ASCII值(0到127之間的數(shù)字)而不是字符本身。
小寫字母的ASCII值從97到122。大寫字母的ASCII值從65到90。即,字母a存儲為97,字母z存儲為122。類似地,字母A存儲為65,字母Z存儲為90。
現(xiàn)在,當(dāng)我們比較變量c在“ a”與“ z”之間以及“ A”與“ Z”之間時,分別將其與字母97至122,65至90的ASCII值進(jìn)行比較
由于*的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); } }
輸出結(jié)果
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 + " 不是字母。"); } } }
輸出結(jié)果
a 是字母。
在上面的示例中,請注意以下表達(dá)式:
Character.isAlphabetic(c)
在這里,我們使用了Character類的isAlphabetic()方法。如果指定的變量是字母,則返回true。因此,執(zhí)行if塊中的代碼