今天在写同行输出的时候,发现一个问题
for(int i = 0; i < 2; i++){
System.out.print('a' + ' ');
}
// 输出结果:129129
当时觉得纳闷,发现自己的空格写成了单引号,改过来就对了
for(int i = 0; i < 2; i++){
System.out.print('a' + " ");
}
// 输出结果:a a
我上网查了下资料,发现第一次输出结果可能是因为把‘a’的ASCII值和‘空格’的ASCII值相加了,也就是97+32=129。
其实就是单引号和双引号没弄清楚。单引号表示是一个字符,如果进行加运算就会把字符转换成ASCII值进行运算。而双引号表示字符串,如果进行加运算就是把两者拼接起来。