一个Java强制类型转换的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:10:13
char c;
c=(char)-70;
System.out.println(c);

运行结果:?

请问这是为什么,一本书上讲的是先将-70取正,再对256取余,最后得字符'?',我不明白,70余256不是得70吗?70的ASCII码不是'F'么?怎么出来的?啊,给我讲讲,谢谢了先!

java使用的字符是Unicode字符集,问号显示出来的是该位置的Unicode字符!

如果照这样理解,那c = (char)70又是多少呢 ^_^ int转char有损失精度的。你测试下任何一个负数,就会发现他们输出的都是 ?