Примитивный тип char
Символы и Unicode
«Примитивный тип char» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.
Что такое символ
char — это примитивный тип Java, хранящий один символ, например букву, цифру или знак.
Значение char записывается между одинарными кавычками: 'A', '7' или '?'. Двойные кавычки создают String, поэтому "A" — это не char.
char grade = 'A';
char symbol = '#';Вывод символа
Вы можете сохранить символ в переменной и вывести его так же, как любое другое значение.
Здесь полная программа объявляет символ и выводит его. Обратите внимание на одинарные кавычки вокруг буквы.
public class Main {
public static void main(String[] args) {
char first = 'J';
System.out.println(first);
}
}Символ на самом деле является числом
Внутри каждый символ имеет числовой код из таблицы Юникода. Буква 'A' имеет код 65, а 'a' — код 97.
Если присвоить символ переменной типа int, Java предоставит Вам это числовое значение.
public class Main {
public static void main(String[] args) {
char c = 'A';
int code = c;
System.out.println(code);
}
}Арифметика с символами
Поскольку символ является числом, с ним можно выполнять арифметические операции. Прибавление 1 к 'A' переводит к следующему коду — 'B'.
Чтобы снова представить результат как букву, преобразуйте его обратно в char.
public class Main {
public static void main(String[] args) {
char a = 'A';
char next = (char) (a + 1);
System.out.println(next);
}
}Символы-цифры и числа
Будьте внимательны: символ '5' — это не число 5. У символа '5' код Юникода равен 53.
Чтобы преобразовать символ-цифру в соответствующее числовое значение, вычтите из него '0'. Это работает, потому что коды цифр расположены последовательно.
public class Main {
public static void main(String[] args) {
char d = '5';
int value = d - '0';
System.out.println(value);
}
}Специальные escape-символы
Некоторые символы записываются с помощью escape-последовательности с обратной косой чертой. '\n' — это перевод строки, '\t' — табуляция, а '\'' — одинарная кавычка.
Каждая escape-последовательность всё равно обозначает один символ, хотя в коде использует два знака.
char tab = '\t';
char quote = '\'';
char newline = '\n';Сравнение символов
Вы можете сравнивать символы с помощью ==, < и >, потому что сравниваются соответствующие числовые значения.
Так как 'a' — это 97, а 'b' — 98, выражение 'a' < 'b' истинно.
public class Main {
public static void main(String[] args) {
char x = 'a';
char y = 'b';
System.out.println(x < y);
}
}Символ в switch
Символ удобно использовать внутри оператора switch, чтобы выбирать между вариантами.
Каждая метка case содержит символ в одинарных кавычках. Это удобно для пунктов меню или выставления оценок.
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A': System.out.println("Great"); break;
case 'B': System.out.println("Good"); break;
default: System.out.println("Keep going");
}
}
}Значение символа по умолчанию
Если полю типа char не присвоено значение, по умолчанию используется нулевой символ с кодом 0, записываемый как '\u0000'.
Локальные переменные в методах значения по умолчанию не имеют, поэтому перед использованием необходимо присвоить символ переменной, иначе код не скомпилируется.
char letter;
letter = 'Z';
System.out.println(letter);Escape-последовательности Юникода
Вы можете записать любой символ по его коду Юникода, используя '\u', за которым следуют четыре шестнадцатеричные цифры.
Например, '\u0041' — это буква 'A'. Это позволяет включать символы, которые трудно ввести напрямую.
public class Main {
public static void main(String[] args) {
char a = '\u0041';
System.out.println(a);
}
}Ограничения диапазона символа
Символ представляет собой беззнаковое 16-битное значение, поэтому может хранить коды от 0 до 65535. Отрицательные значения невозможны.
Этого достаточно для букв, цифр и символов многих языков мира, представленных в Юникоде.
public class Main {
public static void main(String[] args) {
char max = (char) 65535;
int code = max;
System.out.println(code);
}
}Быстрая проверка
Проверьте своё понимание примитивного типа char.
Итоги
char хранит один символ в одинарных кавычках и основан на числовом значении Юникода.
С символами можно выполнять арифметические операции и сравнивать их, а символы-цифры можно преобразовывать в числа, вычитая '0'. Обратное преобразование в char превращает код в видимый символ.
Часто задаваемые вопросы
Урок «Примитивный тип char» бесплатный?
Да — полный текст урока «Примитивный тип char» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.
Чему я научусь в уроке «Примитивный тип char»?
Символы и Unicode Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Примитивный тип char»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Примитивный тип char
- Вспомогательные методы для символов
- Циклы по символам
- Подсчёт и фильтрация символов