#java
Вопрос:
char ch='A';
System.out.println(ch); //prints A
ch ;
System.out.println(ch); //prints B
ch='0';
System.out.println(ch); //prints 0
ch ;
System.out.println(ch); //prints 1
ch='9';
System.out.println(ch); //prints 9
ch ;
System.out.println(ch); //prints :
Почему программа ch
заставила печатать двоеточие после 9?
Комментарии:
1. Опубликуйте свой код, а не фотографию
2. Снова закодируйте не картинку, а вложите свой код в «
Ответ №1:
В ASCII набор :
символов идет после 9
, поэтому при увеличении вы в основном переходите к :
.
ПРИМЕЧАНИЕ: Хотя Java может использовать юникод вместо ASCII, юникод построен поверх ASCII и десятичных значений для алфавитных символов, и некоторые другие такие же.
Комментарии:
1. Java использует набор символов Unicode, а не ASCII.
2. Это так, но Юникод-это расширение ASCII
Ответ №2:
Обратитесь к http://asciitable.com/. Вызывая ch
, вы увеличиваете число символов. ASCII-это система, которая сопоставляет числа с символами. Если вы поищете запись для символа 9, вы увидите, что символ сразу после него-двоеточие.
57 39 071 amp;#57 9
58 3A 072 amp;#58 :
Таким образом, если вы увеличите ch, он закончится двоеточием.
Ответ №3:
Делая ch ;
то , что вы делаете, вы добавляете значение ASCII ch
, которое 9
в данном случае. Если вы посмотрите на диаграмму ASCII, значение ASCII сразу после a 9
равно a :
, что и печатается.
ch
Значение 9
используется из приведенных выше строк в программе.