当我运行以下代码时,它不会给我输出我已被排除的内容。请考虑以下代码段:
public class T
{
public static void main(String arg[])
{
char a='3';
System.out.println(a+a);
}
}
这里的输出是:102
可以请任何人向我解释一下吗?
答案 0 :(得分:4)
+
运算符应用隐式类型转换,将两个字符转换为数字ASCII表示形式,即51.
所以表达式
'3'+'3'
也可以被视为
51 + 51
这是102。
我假设你想拥有的是结果"33"
,它不再是一个字符串而是一个字符串。为此,您可以简单地将表达式的结果隐式转换为字符串:
char c = '3';
string s = "" + c + c;
另一种可能性是促进StringBuilder类:
char c = '3';
String s = new StringBuilder().append(c).append(c).toString();
答案 1 :(得分:0)
a + a被解释为公式。
因为'3'的ascii值是51,51 + 51 = 102。
答案 2 :(得分:0)
这只是ascii值的总和
答案 3 :(得分:0)
你可以看到c + c为51 + 51,因为它的ascii代码为'3'。 如果你想打印33,那么你可以试试这个:
System.out.println(String
.format(“%c +%c”,c,c));