Widziałem ten char
zdefiniowany jako char ch = '\117'
Dlaczego " 117" jest prawidłowym literałem znaków w Javie?
Jakie reprezentacji jest '\117'
w?
wiem escaped-sequence
jest '\n'
, na przykład, albo unicode
jest `\udddd'
, gdzie d
to pojedyncza cyfra hex, ale nigdy nie widziałem czegoś takiego jak '\117'
w całym moim życiu! Co zaskakujące, kompiluje! (I wyjście to O
)
Zobacz [Sekwencje Escape dla postaci i literałów ciągów] (http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html # jls-3.10.6). – EJP
To jest notacja ósemkowa. Patrz [Dlaczego liczba ósemkowa w Javie wzrasta tylko do 255?] (Http://stackoverflow.com/q/9543026/111424), szczególnie [odpowiedź roboffa mayoffa] (http://stackoverflow.com/a/9543611/111424). Prawdopodobnie chodzi o kompatybilność ze starszymi językami i programistami. –