Вывод алфавита в Java — программа печати букв A-Z через цикл
Задача — определить, является ли заданный символ буквой английского алфавита (a..z или A..Z). На programiz даны три способа: через if..else с ASCII-кодами, через тернарный оператор и через готовый метод Character.isAlphabetic().
Пример 1: проверка через 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 + " 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.
Когда мы сравниваем переменную c со значениями от 'a' до 'z' и от 'A' до 'Z', на самом деле сравниваем её ASCII-код с диапазонами 97–122 и 65–90.
Поскольку ASCII-код символа * не попадает в диапазон букв, программа печатает «* is not an alphabet».
Пример 2: проверка через тернарный оператор
То же самое, но компактнее — через ? :.
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 уже умеет проверять буквы — в классе Character есть готовый метод 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)
Здесь используется метод isAlphabetic() класса Character. Он возвращает true, если переданная переменная — буква алфавита. В этом случае выполняется блок if.