您的位置  > 互联网

你来知乎提问,应该先学会怎么使用知乎贴代码!

我将重新发布您的代码,如下所示:

public class Hey {
    public static void main(String[] args) {
        char m = '我';//25105
        char k = '你';//20320
        String a = "与";
        String l = m + k + a;//m + k -> 45425
        System.out.println(l);//45425与
    }
}

因为 Java 中的 char 本质上是 int 类型,在您的示例中:

m + k + a

运行时会从左到右进行运算,先计算m+k,m和k都是char类型。 运算会根据int类型进行计算,并将结果与​​a类型进行拼接(此时发生+符号运算符重载)。

根据编码,汉字的编码如下:

可以看到,字符“我”的编码形式(十进制)为25105,字符“你”的编码形式(十进制)为20320。按照int类型进行运算,结果int类型是45425,这个结果和a类型进行+运算的结果是一样的。 由于运算符重载,结果是45425和a串联而成的字符串形式,即“45425 and”。

如何查询汉字的编码形式(Forms),使用这个网站查询:

//.html

我的其他回答:

另外,如果你有兴趣,欢迎加入我的Java EE自学群

如果您觉得我的回答对您有帮助,可以考虑微信打赏: