一道基础的算法,答案是什么?

看开始看算法(第四版)

第一张的一道练习
给出以下表达式的类型和值

d. 1+2+’3‘****

这个我觉得java是会自动转化为字符型吗?
我就自己println试验了一下。
System.out.println(1+2+'3');
结果为54,不懂了,求教。

但是我看了网上的答案是33?一样不懂

我已经知道了,题目中是我错误

原题是双引号,字符型 1+2+“3”
我看成1+2+’3‘了。不过倒是加深了理解,谢谢各位

带单引号的3是字符型,ascii码值查表可知为51,前面的1和2会自动加法运算,最后结果就是54了,不知道能不能帮到你图片说明

那个****是网站的格式问题,见谅 ,题目就是1+2+'3'

因为‘3’有单引号 系统认为它是个字符 计算的时候会转成unicode码再计算 3的unicode码是51 加上前面的 就等于54了

char 型存放字符,实际上存放的就是字符对应的 ASCII码数值。而3对应的ASCLL码是51.所以结果是54.