为何将char定义为一个中文编译出来却成了数字

截图如上
2025-03-10 01:43:01
推荐回答(1个)
回答1:

public class hey {
public static void main(String[] args){
char m = '我';
char k = '你';

int b = m;
int c = k;
String a = "与";
String l = m + k + a;
System.out.println(l);
}
Debug可以知道,'我'的int值是25105,‘你'的int值是20320.这个值应该与中文编码有关。
char类型相加,加的是int值。得到45425.
m + k +a.从左向右,m + k得到45425后被转换为string类型与a相加。于是得到45425与。