gpt4 book ai didi

java - 按位操作不与 Java 中的 print() 中的字符串连接

转载 作者:太空狗 更新时间:2023-10-29 22:39:45 24 4
gpt4 key购买 nike

这段代码

int a = 6;
System.out.print("The result is " + a*a);

工作得很好,但是这个

int a = 6;
System.out.print("The result is " + a^a);

产生异常:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: at pkg1.pkg4.taking.input.TakingInput.main(TakingInput.java:11)

为什么会这样?

当我试图一次性打印多个按位运算的结果时出现问题,如下所示:

System.out.print(a&b + "\n" + a|b + "\n" + a^b);

我查看了 print() 方法的描述和几个关于按位运算符和打印到控制台的主题,包括在撰写问题时推荐的主题,但找不到答案.

最佳答案

这是因为 + 有更高的 precedence^ 所以它编译为:

("The result is " + a) ^ a

这显然行不通。在它周围加上括号:

System.out.print("The result is " + (a^a));

或者如 Holger 所述,您可以使用 printf 消除此问题:

System.out.printf("The result is %d", a^a);

关于java - 按位操作不与 Java 中的 print() 中的字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53606291/

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