65535已经是char类型的最大值,为什么65536还可以用char进行强制数据类型转换
登陆购买课程后可参与讨论,去登陆吧
同学你好,1、强制类型转换就是强制的把一个数据类型转换为另外一种数据类型。所以不止char类型可以强制转换,其他类型也可以强制转化哦!只是转化后有时会出现数据丢失的情况!无法准确表达原有数据! 例如:
2、65535是char类型的最大值,所以char类型会不接收65536的值,但是这里可以强制类型转换,转换时,会在底层中将不符合条件的数据舍弃,所以强制转换时会出现数据丢失的现象,从而出现一些无法正常显示的数据哦!
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
想问一下,为什么char可以(char)65537,但int不可以 (int) 2147483648呢
同学你好,因为char在底层有自动转换规则,其范围超过0-65535的范围,如果强制转换(char c = (char)i;)java会根据规则自动转换到0-65535区间中的一个。
而int的范围就是-2147483648到+-2147483648,它并没有自动转换规则,超出这个范围就不符合语法,直接报错。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
Android大楼Java起,本阶段是Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始入门Android开发。
18 1
29 3
19 6
8 1
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧