为了账号安全,请及时绑定邮箱和手机立即绑定

强制类型转化不会改变其值吗

double a=10.5;
int b=(int)a;
Syetem.out.println(a);
Syetem.out.print(b);

按照本节教程结果应该是:

10.5

10

程序里(int)a不会改变原本a的值,为什么?



正在回答

2 回答

只是暂时改变这个值,仅在当下输出时才改变的

0 回复 有任何疑惑可以回复我~
#1

孤僻成瘾 提问者

非常感谢!
2018-07-19 回复 有任何疑惑可以回复我~

这个是因为double是有包含xx.xx的小数点的   int是一个整数型 说明会直接舍弃掉后面的小数点的、按照代码运行的一个过程  (int)a这里是强转换会改变原来的一个值  变为10  所以int b=10

0 回复 有任何疑惑可以回复我~
#1

孤僻成瘾 提问者

也就是说在int b=(int)a里,a只是临时被转化,但在内存中a的值不变对吧?
2018-06-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165242    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

强制类型转化不会改变其值吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信