See how '1' comes out as blue while 1 comes out as brown(ish)? That is because '1' is a char (character) and 1 is a number. A char is actual a special type of integer (number) where the value is a code point - a number that says 'look this value up in your character table and display the character there'. The actual code point for '1' must be 49. So 49 plus 1 is 50
Not quite. Because '1' is a char, and a char will be printed as the corresponding character (I think it uses Character.toString(), if I remember correctly).
But '1' + 1 is a char added to an int. And according to the rules of Java integer arithmetic, that results in an int (any integer type added to any other results in an int, unless one of them is a long, in which case it results in a long). And an int will be printed using Integer.toString().