类型转换

类型转换
》自动类型转换 (自动类型提升)
int num4 = 4;
double num5 = num4;
-----------------
int num6 = 6;
double num7 = 3.0;
double num8 = num6 / num7;

》小范围的数据往大范围的数据转换时,可以自动转换,还需要保证类型兼容(数值类型:整型和浮点型,互相兼容)
》如果一个表达式中有一个操作数是double,那么整个结果都将提升为double

》强制类型转换
》当大范围转向小范围时,比如浮点型转换为整型时
double num4 = 4.0;
int num5 = (int)num4;
》+=具有强制类型转换效果
num += 10;

byte num2 =126+4; //编译失败,两常量相加,判断相加后结果是否在byte范围内
byte num3 =126;num3+=4; //编译正确但运行结果有问题

》整型 byte short char
》这三种数据类型在进行各种计算时,结果都会变成一个int值
byte b1 = 1;
int b2 = b1 + b1;
--------------
char c1 = 'a';
int c2 = c1 + 1;
》除非它们自加自减
byte b3 = b1 ++;
》char->int:根据ascii码表进行提升
char ch = 'a';
int num2 = ch;
System.out.println(num2);//97

a:97 A:65
》short->int

short num1 = 19; num1 = num1 + 10; //编译失败,因为short+int,最终结果为int型,不能赋给short型的num1

 



__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/13554770.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(116)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示