黑马程序员技术交流社区
标题:
自动提升数据类型的规定
[打印本页]
作者:
孙云鹏
时间:
2012-9-3 14:04
标题:
自动提升数据类型的规定
一个类,其中有这么三行
int a=4125; //001
a=a/1000*1000;
System.out.println(a);
最后运算后的输出为4000,,,说是a/1000后为小数默认为了int再与1000计算
这是老师教程里的一个例子,,,
但老师说过float和int直接计算,结果是float.根据老师当时的例子,也确实如此
int a=4125; //002
System.out.println(a+4.25);
输出为4129.25
但是,如果合写在一起
int a=4125;
System.out.println(a/1000*1000);
System.out.println(a+4.25);
输出为: 4000
4129.25
那么,问题是:为什么会有这种截然不同的对代?什么情况下会执行默认,使结果为int?什么情况下又不会执行默认,使结果为float?
难道紧紧是 + - 和 * / 之间的区别吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2