Java - char, int konwersji
W Javie dozwolone jest:
char c = 'A' + 1;
Tutaj c będzie zawierać wartość „B”. Powyżej, pierwsze wyrażenie jest oceniane. Zatem „A” zostaje przekonwertowane na 65, całe wyrażenie ma wartość 66, a następnie 66 jest konwertowane na „B”, ponieważ przechowujemy wartość w znaku.
Poniżej podano błąd kompilacji:
char c = 'A';
c = c + 1;
Jakie jest wyjaśnienie, w jaki sposób Java inaczej postrzega wyrażenia? Nawiasem mówiąc, poniższe działa również dobrze:
char c = 'A';
c++;