gpt4 book ai didi

java - 这个java代码背后的逻辑是什么

转载 作者:行者123 更新时间:2023-11-29 09:35:10 24 4
gpt4 key购买 nike

我遇到了下面的 java 行,并对它的输出感到困惑。你能解释一下这段代码背后的逻辑吗

System.out.println((int)(char)(byte) -1);

输出:

65535

最佳答案

嗯,这相当于:

byte b = -1;
char c = (char) b; // c = '\uFFFF' - overflow from -1
int i = c; // i = 65535

原来显式转换为int只是让它调用System.out.println(int)而不是System.out.println (字符)

我相信 bytechar 的转换实际上首先要经过一个隐式的扩大转换——所以它真的是这样的:

byte b = -1;
int tmp = b; // tmp = -1
char c = (char) tmp; // c = '\uFFFF'

这有什么帮助吗?

关于java - 这个java代码背后的逻辑是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7500523/

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