Відповіді:
Використовуйте одинарні лапки для літералу chars, подвійні лапки для literal Strings, наприклад:
char c = 'a';
String s = "hello";
Їх не можна використовувати навпаки (наприклад, у Python).
intв такі контексти. Тож цього не потрібно char. Заслуговуючи деякі низовини ... спрощено.
Значок - це один символ UTF-16, тобто літера, цифра, розділовий знак, вкладка, пробіл чи щось подібне.
Знаковий буквар - це або один символ, укладений у подібні позначки цитата
char myCharacter = 'g';
або послідовність виходу, або навіть послідовність виходу з унікоду:
char a = '\t'; // Escape sequence: tab
char b = '\177' // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence.
Варто відзначити, що послідовності виходу Unicode обробляються дуже рано під час компіляції, а отже, використання "\ u00A" призведе до помилки компілятора. Для спеціальних символів краще використовувати послідовності втечі, тобто "\ n" замість "\ u00A".
Для подвійних лапок String, ви повинні використовувати "подвійну послідовність втечі цитати" ( \") всередині рядків, де вона інакше завершить рядок.
Наприклад:
System.out.println("And then Jim said, \"Who's at the door?\"");
Не варто уникати подвійної цитати всередині одинарних лапок.
Наступний рядок є законним на Java:
char doublequote = '"';
Розглянемо цей рядок кодів (Java):
System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169
1) Перша лінія конкатенація Hі , Aщо призведе до HA(String буквального)
2) По-друге, ми додаємо значення двох знаків, що відповідно до таблиці ASCII H= 72 і a= 97, що означає, що ми додаємо 72+97це як ('H'+'a').
3) Розглянемо інший випадок, коли ми мали б:
System.out.println("A"+'N');//AN
У цьому випадку ми маємо справу з об'єднанням String Aі char, Nщо призведе до цього AN.