When I have the following:
char a = 'a';
System.out.println(++a); //returns b
System.out.println(a + 1); //returns 98
System.out.println('a' + 1); //returns 98
System.out.println(1 + a); //returns 98
System.out.println(1 + 'a'); //returns 98
Why does the ++ operator return the next (larger) letter, but adding 1 doesn't? The OCA/OCP book I'm using does not mention this (except that char would be implicitly cast to an int).
Is there a good book or other resource that details this?