gpt4 book ai didi

Java : space makes a difference in compilation?

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:21 24 4
gpt4 key购买 nike

我正在制作一个程序(一种 Piglatin 之类的...),其中我无意中错过了语句中的一个变量:

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

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

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

编译好的程序。

我想知道为什么即使 Java 不关心你是否在某些语句中放置空格,但为什么放置空格会有所不同,例如:String a="ABCD";String a = "ABCD";

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

最佳答案

++ 本身就是一个运算符(前增量或后增量)。

将它放在字符串和字 rune 字之间在语法上是无效的。

但是对于 "R"+ +'a',第二个 + 将绑定(bind)到字 rune 字 a 并将充当一元加运算符(此运算符具有非常高的优先级)。这不是空操作:在 Java 中,它具有提升a类型整数。这种类型提升意味着输出将是 R97 而不是 Ra(97 是 a 的 ASCII 码)。剩余的 + 充当字符串连接器。

关于Java : space makes a difference in compilation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com