public class Teste {
public static void main(String[] args) {
char a = 'a';
char b = 'b';
System.out.print(a + b);
}
}
Por que a impressão é 195 ??. E se eu quisezesse realmente concatenar a + b, como seria ??
Agradeço desde já !!
public class Teste {
public static void main(String[] args) {
char a = 'a';
char b = 'b';
System.out.print(a + b);
}
}
Por que a impressão é 195 ??. E se eu quisezesse realmente concatenar a + b, como seria ??
Agradeço desde já !!
new StringBuffer().append(a).append(b) 
pq converteu para int, e o código ascii do ‘a’ é 97 e do ‘b’ é 98.
System.out.println("" + 'a' + 'b');
cv,
Poderia por favor ser um pouco mais claro ?? tipo explicar pq imprimi 195 e como seria para ocorrer realmente a concatenação ??
Valeu
ricardolecheta, mas pq ele converte para int ??
Se vc quiser concatenar, pode fazer algo bizarro como
System.out.print(""+ a + b);
Desconsiderando se eh a melhor solucao ou nao. Apenas para mostrar que eh possivel.
Rafael
eu já me esqueci como se chama isso 
mas é pq char, short, sempre sao convertidos para int…
tem algo a ver tb com char ser um int só que de 16 bits, sem sinal…
nao lembro direito,
se eu achar a fonte te digo depois…
sobre a concatenação, sempre que colocar uma string na frente o restante passa a ser uma string também.
tipo, estes dois vão dar resultados diferentes, o java concatena a partir de quando encontra uma string:
System.out.println(3 + 4 + " " +7 + 5);
System.out.println(" " + 3 + 4 + "7" + 5);
Outra Solução…
[code]
public class GujApp {
/**
*
*/
char a;
char b;
public GujApp() {
this.a = ‘a’;
this.b = ‘b’;
System.out.println(new Character(this.a).toString()+
new Character(this.b).toString());
}
public static void main(String[] args) {
new GujApp();
}
}[/code]

Promoção de tipos. 