加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 19:13:53 所属栏目:Java 来源:网络整理
导读:我正在制作一个程序(A Piglatin有点),我无意中错过了声明中的一个变量: String a = "R"++'a'; 它实际上应该是String a =“R”texta;.编译器产生了错误.但是,当我做到时: String a = "R"+ +'a'; 该计划编制. 我想知道为什么尽管Java不关心你是否在某些语句

我正在制作一个程序(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编号).其余的作为字符串连接符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读