John Andreas:
Así que tengo el código aquí:
char a = '1';
char b = '2';
System.out.println(a+b); \\ Outputs 99
Quiero saber por qué, ya que este código:
char a = '1' + '2';
System.out.println(a); \\ Outputs c
Quiero mejorar mi mente primitiva, por favor ayuda a un alma gemela.
blurfus:
Ellos están siendo añadidos como su valor ASCII numérico decimal.
La parte del código que hace a+b
implícitamente les está añadiendo como enteros. Por lo tanto, si ejecuta el siguiente código:
class Example {
public static void main(String[] args) {
char ch = '1';
char ch2 = '2';
int num = ch;
int num2 = ch2;
System.out.println("ASCII value of char " + ch + " is: " + num);
System.out.println("ASCII value of char " + ch2 + " is: " + num2);
}
}
Se verá que la salida de cada char es
valor ASCII de carbón 1 es: 49
valor ASCII de Char 2 es: 50
Así que cuando usted hace esto System.out.println(a+b);
que se añaden como su valor entero que resulta ser 99