Является ли char символьным типом данных в Java?

«Является ли char символьным типом данных в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, char — это примитивный тип данных для представления одного символа.

Ключевые характеристики:

  • Размер: 16 бит (2 байта).
  • Диапазон значений: от u0000 (0) до uffff (65,535).
  • Кодировка: Хранит символы в кодировке UTF-16, что позволяет представлять большинство символов Юникода.

Примеры объявления:

char letterA = 'A';
char digit = '7';
char symbol = '$';
char newLine = 'n';
char unicodeChar = 'u03A9'; // Символ Ω (Омега)

Важные отличия и особенности:

  1. char vs String: char — примитив для одного символа, String — объект для последовательности символов.
  2. Приведение к int: В арифметических операциях char неявно приводится к int (к его кодовой точке).
char c = 'A';
int codePoint = c; // codePoint = 65
char nextChar = (char) (c + 1); // nextChar = 'B'
  1. Использование в switch: char можно использовать в операторе switch.
char grade = 'B';
switch (grade) {
    case 'A': System.out.println("Отлично"); break;
    case 'B': System.out.println("Хорошо"); break; // Сработает здесь
}