当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Java:space在编译方面有所不同?》经验,为你挑选了1个好方法。

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

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

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

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

该计划编制.

我想知道为什么把一个空间变得与众不同,即使Java不关心你是否在某些陈述中放置一个空格,例如:String a="ABCD";就像String a = "ABCD";

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



1> Bathsheba..:

++是一个独立的运营商(前或后增量).

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

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

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有