有两种转换方法:
一种是自动转换,如char c = 97,会自动的将int类型的96转换成char的‘a’
另一种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是‘a’
为什么是a呢?因为字符‘a’对应的ASCII值是97.
自动转换一般是用于大的类型向小的类型转换,也叫窄化转换
强制类型转换一般是用于小的类型向大的类型转换,也叫扩展转换
char类型在内存中的实际存放类型和int类型是一样的
所以一下代码是成立的
int i='4';
char c=100;
char里放的是ASCII码或者是UNICODE码,ASCII码当然是可以转换成整型的。比如char c = 97
c就是ASCII码为97的字符,也就是字符a
System.out.println("ca==100");只是输出“ca==100”这个字符串,如果把“ca==100”改成“我爱你”的话,那就会输出“我爱你”这个字符串了。