我正在制作一个程序(有点像 Piglatin),其中我无意中错过了语句中的一个变量:
String a = "R"++'a';
其实应该是String a = "R"+text+'a';
。编译器产生了一个错误。但是,当我做到了:
String a = "R"+ +'a';
程序编译完成。
我想知道为什么即使 Java 不关心在某些语句中是否放置空格,但放置空格会产生影响,例如:String a="ABCD";
是相同的String a = "ABCD";
有人可以解释一下这种行为吗?
++
is an operator就其本身而言(增量前或增量后)。
将其放在字符串和字符文字之间在语法上无效。
但与"R"+ +'a'
, 第二+
将绑定到 char 文字a
and 将充当一元加运算符(该运算符具有非常高的优先级)。这是not无操作:在 Java 中它的作用是促进 the type of a
to an int
。这种类型提升意味着输出将是R97
而不是Ra
(97 是 ASCII 数字a
)。其余+
充当字符串连接器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)