Java语言如下代码是否合法,为什么呢?char ch = 1301051;还有char ch = (ch)1301051;最后ch的结果是多少
char 最大才多少?
报错了,char类型是一个字符,两个字节,每个字符映射一个,0到2的16次方也就是65546的范围内的一个值(不等于65546。下面应该是(char)1301051,将数字转换为二进制截取低位的16位赋值,这个是强制类型转换损失精度