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”text’a’;.编译器产生了错误.但是,当我做到时:
该计划编制. 我想知道为什么尽管Java不关心你是否在某些语句中放置空格,但是为什么放一个空格会产生差异,例如:String a =“ABCD”;与String a =“ABCD”相同; 有人可以解释一下这种行为吗? 最佳答案
是一个独立的操作符(前或后增量).
将它放在字符串和char字面之间在语法上是无效的. 但是使用“R”’a’,第二个将绑定到char文字a并将作为一元加运算符(此运算符具有非常高的优先级).这不是一个无操作:在Java中它具有将a的类型提升为int的效果.此类型提升意味着输出将是R97而不是Ra(97是a的ASCII编号).其余的作为字符串连接符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |