1 + 2 + "3" 与 1 + 2 + '3' 结果不同
- 代码如下:
public class Test{
public static void main(String[] args){
System.out.println(1 + 2 + "3");
System.out.println(1 + 2 + '3');
}
}
- 执行结果如下:
33
54
- 推测:
- 因为Java中双引号表示字符串,单引号表示字符;
- 1 + 2 + "3" --> 3 + "3";然后整数3被转换成字符串"3" --> "3" + "3" = "33";
- 1 + 2 + '3' --> 3 + '3';然后字符'3'被转换其对应的ascii码(51); 3 + 51 = 54;