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

来源:2-10 Java中的强制类型转换

孤僻成瘾

2018-06-29 09:36

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

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

10.5

10

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



写回答 关注

2回答

  • 憨憨Paul
    2018-07-14 21:02:38
    已采纳

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

    孤僻成瘾

    非常感谢!

    2018-07-19 21:11:25

    共 1 条回复 >

  • 自渡2
    2018-06-29 11:03:44

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

    孤僻成瘾

    也就是说在int b=(int)a里,a只是临时被转化,但在内存中a的值不变对吧?

    2018-06-29 11:12:26

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1167138 学习 · 17927 问题

查看课程

相似问题