Java:space在编译方面有所不同?

前端之家收集整理的这篇文章主要介绍了Java:space在编译方面有所不同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在制作一个程序(A Piglatin有点……),我无意中错过了声明中的一个变量:

String a = "R"++'a';

它实际上应该是String a =“R”text’a’;.编译器产生了错误.但是,当我做到时:

String a = "R"+ +'a';

该计划编制.

我想知道为什么尽管Java不关心你是否在某些语句中放置空格,但是为什么放一个空格会产生差异,例如:String a =“ABCD”;与String a =“ABCD”相同;

有人可以解释一下这种行为吗?

最佳答案
是一个独立的操作符(前或后增量).

将它放在字符串和char字面之间在语法上是无效的.

但是使用“R”’a’,第二个将绑定到char文字a并将作为一元加运算符(此运算符具有非常高的优先级).这不是一个无操作:在Java中它具有将a的类型提升为int的效果.此类型提升意味着输出将是R97而不是Ra(97是a的ASCII编号).其余的作为字符串连接符.

原文链接:https://www.f2er.com/java/437803.html

猜你在找的Java相关文章