Ответ
Да, char — это примитивный тип данных для представления одного символа.
Ключевые характеристики:
- Размер: 16 бит (2 байта).
- Диапазон значений: от
u0000(0) доuffff(65,535). - Кодировка: Хранит символы в кодировке UTF-16, что позволяет представлять большинство символов Юникода.
Примеры объявления:
char letterA = 'A';
char digit = '7';
char symbol = '$';
char newLine = 'n';
char unicodeChar = 'u03A9'; // Символ Ω (Омега)
Важные отличия и особенности:
charvsString:char— примитив для одного символа,String— объект для последовательности символов.- Приведение к
int: В арифметических операцияхcharнеявно приводится кint(к его кодовой точке).
char c = 'A';
int codePoint = c; // codePoint = 65
char nextChar = (char) (c + 1); // nextChar = 'B'
- Использование в
switch:charможно использовать в оператореswitch.
char grade = 'B';
switch (grade) {
case 'A': System.out.println("Отлично"); break;
case 'B': System.out.println("Хорошо"); break; // Сработает здесь
} Ответ 18+ 🔞
Да ты посмотри, какой он примитивный, этот char! Ну, в смысле, тип данных примитивный, а не сам по себе. Как будто бы простая хуйня, один символ, но нет, блядь, там целая история!
Что он из себя представляет, этот чувак:
- Вес и рост: 16 бит, два байта. Не ахти какой гигант, но и не мелочь пузатая.
- Где живёт: В диапазоне от
u0000(это ноль, полный пиздец, пустота) доuffff(65 535, уже что-то). - На каком языке говорит: Хранит всё в UTF-16, чтобы можно было запихнуть туда не только наши буковки, но и всякие закорючки со всего света, ёпта.
Как его, сука, объявлять:
char letterA = 'A'; // Ну, латинская A, с чего всё начинается
char digit = '7'; // Цифра, но в кавычках-то! Не int!
char symbol = '$'; // А вот и баксы, мать его
char newLine = 'n'; // Перенос строки, чтоб всё красиво было
char unicodeChar = 'u03A9'; // О, греческая Омега! Красота, блядь!
А теперь, внимание, где собака, сука, зарыта и почему всё не так просто:
charиString— это два разных зверя.char— это как один солдат, примитив. АString— это уже целая армия, объект, последовательность. Не путай, а то получишьClassCastExceptionв ебало.- Любит превращаться в
int. Начнёшь с ним арифметику делать — он тут же вintпревращается, в свою кодовую точку. Хитрый, блядь!
char c = 'A';
int codePoint = c; // codePoint = 65. Всё, попался, символ!
char nextChar = (char) (c + 1); // nextChar = 'B'. Привёл обратно — молодца.
- В
switchего можно пихать. Удобно, чё.
char grade = 'B';
switch (grade) {
case 'A': System.out.println("Отлично, ебать!"); break;
case 'B': System.out.println("Хорошо, норм."); break; // Вот тут и выскочит
default: System.out.println("Иди учись, пиздюк"); break;
}
Вот такой он, char. С виду — простая хуйня, один символ. А копнёшь — там кодировки, приведение типов, юникод... Ёперный театр! Но без него никуда, основа, блядь.