- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
010_尚学堂_高淇_最全java视频培训课程_基本数据类型自动转换_强制转型_类型提升问题.
尚学堂JAVA最全教程配合JAVA300集视频课程,一集一个文档本文档配合:java300集第一季010集【最新文档更新请加入尚学堂】【专业JAVA培训机构,真正零首付入学】自动类型转换:自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。在图中,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。特例:可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围Short b = 12; //合法shortb = 1234567;//非法强制类型转换(Cast):强制类型转换,又被称为造型,用于显式的转换一个数值的类型.在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。强制类型转换的语法格式:“(type)var”,运算符“()”中的type表示将值var想要转换成的目标数据类型。例如:double x = 3.14; int nx = (int)x; //值为3char c = a;int d = c+1;System.out.println(d);System.out.println((char)d);当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。例如: int x = 300; byte bx = (byte)x; //值为44不能在布尔类型和任何数值类型之间做强制类型转换。如果需要把布尔类型转换成一个数字该怎么办呢?基本类型转化时常见错误和问题:操作比较大的数时,要留意是否溢出,尤其是整数操作时。int money = 1000000000; //10亿int years = 20;int total = money*years; //返回的是负数longtotal1 = money*years; //返回的仍然是负数。默认是int,因此结果会转成int值,再转成long。但是已经发生了数据丢失long total2 = money*((long)years); //先将一个因子变成long,整个表达式发生提升。全部用long来计算。L和l 的问题:不要命名名字为l的变量long类型使用大写L不要用小写。int l = 2;long a = 23451l;System.out.println(l+1);课堂代码//测试自动转型和强制转型publicclassTestCast {publicstaticvoid main(String[] args){/*byte b = 123;//byte b2 = 300;//char c = -3;char c2 = a;int i = c2;long d01 = 123213;float f = d01;//测试强制转型int i2 = -100;char c3 = (char)i2; //-100超过char的表数范围,所以转换成完全不同的值,无意义的值!System.out.println(c3);*//*//表达式中的类型提升问题int a = 3;long b = 4;double d = 5.3;int c = (int)(a+b); //做所有的二元运算符(+-/*%),都会有类型提升的问题!float f = (float)(a + d);*/int money = 1000000000; //10亿int years = 20;long total = (long)money*years; //返回的是负数System.out.println(total);//一个人70年心跳多少次long times = 70L*60*24*365*70;System.out.println(times);}}
您可能关注的文档
- (10月27日)培训总结讲话..doc
- (2011-11)柿溪乡中心幼儿园师德师风培训记录microsoft word 文档..doc
- (2011-2012)家长学校培训会议记录..doc
- (2013-2014年)2015年事业单位新进人员培训-事业单位人事管理条例 课后测试及答案..doc
- (2015年普通高中职务培训培训资料)维度二:专业知识 高中信息技术课堂教学环节研讨..doc
- (2011年7月20日)在全县第七批农村工作指导员动员培训会上的讲话..doc
- (2013-2014年)2015年事业单位新进人员培训-管理中的沟通与协调课前课后测试及答案..doc
- (3。22)完成 关于教育培训企业员工稳定性问题的研究与对策..doc
- (6.2)培训计划1..doc
- (a3b11c22)英小家长学校培训教材..doc
文档评论(0)