我如何回答诸如“以下表达式评估为什么”这样的问题。
"2 + 2 " + 3 + 4;
因为我在网站练习上真的很难 - 并尝试了从 2234 到 11 的所有内容作为可能的答案。
答案 0 :(得分:5)
在Java中,如果添加的任一侧是字符串,则非字符串操作数将转换为字符串,并且两个字符串将连接在一起。永远不会通过使用添加将字符串转换为整数。也不会评估包含整数表达式的字符串。
因此,添加为左关联"2 + 2 " + 3 + 4
被解析为("2 + 2 " + 3) + 4
,其将评估为"2 + 2 3" + 4
,后者将评估为"2 + 2 34"
。
答案 1 :(得分:0)
“2 + 2”+ 3 + 4是Java中的字符串,等于“2 + 2 34”。
答案 2 :(得分:0)
您需要将字符串解析为其组件,然后解释这些组件,就像您正在编写表达式解释器(您就是这样)。