变量的转换

类型转换
精度丢失
加减乘除运算


1. 类型转换  溢出 精度丢失
 高精度向低精度转换   =》溢出
低精度向高精度转换 隐式转换

float b=1.0f  是可以的也是属于强转的一种


long l=1024L*1024*1024*4;
int j=(int)l;//会产生溢出
System.out.println(j);//结果为:0

double pi=3.141592653589793;
float f=(float)pi;//会造成精度的损失
System.out.println(f);//结果为:3.1415927

2. 数值之间的自动转换

基本数据类型的加减乘除 的结果,会自动向最大类型转换

long distance=10000*365*24*60*60*299792458L;

上述代码中,有int类型数据和long类型数据,由于有long型的直接量299792458L参与,整个表达式的结果为long

double change=800-599.0;

上述代码中,由于有double型的直接量599.0参与,整个表达式的结果为double。

double persent1=80/100;

上述代码中,结果为0.0.右边是int型数据,语法运算后的结果也为int类型,结果为0,再赋值给double型,将0转化为0.0.请对比下面的代码:

double persent2=80.0/100;

上述代码中,结果为0.8,右边表达式有double型直接量参与,运算结果为double型。



步骤三:byte、char、short转换为int的问题

byte、char、short三种类型实际存储的数据都是整数,在实际使用中遵循如下规则:

1)int直接量可以直接赋值给byte、char和short,只要不超过其表示范围。

2)byte、char、short三种类型参与运算时,先一律转换为int类型再进行运算。请看如下示例代码:

byte b1=28;
byte b2=20;
byte b3=b1+b2;

上述代码在第三行会出现编译错误,原因是b1+b2的结果为int类型。改变上述代码如下:

byte b1=28;
byte b2=20;
int b3=b1+b2;

查看上述代码,会发现不会再出现编译错误。char类型、short类型和byte类型是相似的。


全部评论

相关推荐

家人们,我现在真的好纠结。我是26届的,目前还没有实习过。我现在的情况是,想参加秋招,但是感觉自己的简历特别空,没有实习经历会不会秋招直接凉凉啊?可我又听说现在很多公司对26届实习生也不太感冒,说什么不确定性大。而且我最近在准备考公,时间上也有点冲突。要是把时间花在实习上,备考时间就少了。但要是不实习,又怕以后就业有问题😫有没有懂行的友友帮我分析分析:26届现在不实习,秋招找工作真的会很难吗?考公和实习该怎么平衡啊?如果现在不实习,考完公再去找实习还来得及吗?真的太焦虑了,希望大家能给我点建议🙏
小破站_程序员YT:我可能和大家的观点不一样。人的精力是有限的,不能既要还要。你又想实习又想考公最后又要秋招上岸,我觉得哪有那么多的选择。你如果想考上岸,那就全力以赴。如果想秋招上岸,就继续投实习,投没了,就继续准备秋招,秋招不行继续春招。别到最后,考公没上岸,觉得是花了时间浪费在找实习上了, 秋招没上岸,觉得是浪费时间准备考公去了。我是认为很难说可以去平衡 不喜勿喷,可以叫我删除
实习与准备秋招该如何平衡
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
面试吐槽bot
点赞 评论 收藏
分享
06-25 16:53
门头沟学院 Java
人力小鱼姐:简历可以直接用飞书模板 模拟面试可以试试ai,现在好多都还是免费阶段 像Sugar云面、多面鹅都不错,主要看面试后自己能不能复盘出有效信息
为了找工作你花了哪些钱?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务