1、当一个整数赋值给char类型变量的时候,会自动转换成char字符型,最终的结果就是一个字符;
2、当一个整数没有超出byte,short,char的取值范围的时候,这个整数可以直接赋值给byte,short,char类型的变量;
1、以下代码可以正常编译和运行吗?
char c = 65536;
通过javac命令编译结果如下
错误: 不兼容的类型: 从int转换到char可能会有损失;
因为char类型取值的最大范围是65535,65536已经超出了char的最大取值范围,所以不能直接转换成char类型,如果想要编译通过,那么必须要加强制转换符:char c = (char)65536;