Привет всем, я только начал попытки изучить Java и наткнулся на кое-что, что действительно сбивает с толку!
Я печатал пример из книги, которую использую. Он предназначен для демонстрации типа данных char.
Код выглядит следующим образом:
public class CharDemo
{
public static void main(String [] args)
{
char a = 'A';
char b = (char) (a + 1);
System.out.println(a + b);
System.out.println("a + b is " + a + b);
int x = 75;
char y = (char) x;
char half = '\u00AB';
System.out.println("y is " + y + " and half is " + half);
}
}
Меня смущает утверждение char half = '\ u00AB'. В книге указано, что \ u00AB - это код символа "1/2". Как описано, когда я компилирую и запускаю программу из cmd, в этой строке появляется символ «1/2».
Так что вроде все работает как надо. Я решил поиграться с кодом и попробовать разные юникоды. Я погуглил несколько таблиц Unicode и не обнаружил, что ни одна из них не соответствует приведенному выше результату.
В каждом найденном мной коде говорилось, что код / u00AB не предназначен для 1/2, а на самом деле предназначен для этого:
http://www.fileformat.info/info/unic...r/ab/index.htm Итак, какой набор символов использует Java, я думал, что UNicode должен быть именно таким, Uni, только одним. Я искал несколько часов и нигде не нашел набора символов, в котором указано, что / u00AB равно 1/2, но это то, что мой компилятор java интерпретирует как.
Должно быть, я упускаю что-то очевидное! Спасибо за любую помощь!