黑马程序员技术交流社区
标题:
基础视屏中的一个纰漏
[打印本页]
作者:
贺靖轩
时间:
2013-3-28 19:50
标题:
基础视屏中的一个纰漏
黑马程序员_毕向东_JAVA基础视频第02天-08-类型转换.avi 中 在9分20S左右 毕老师举了这么一个例子:
当Int 类型的数据与 Float类型数据 进行运算的时候,结果会转换为 Float 类型的数据,这里毕老爷讲得有点太激情了,所以出了点小差错。
——根据虚拟机的设定在自动类型提升后最终会转换成Double类型的数据。
具体细节大家补齐吧,目前正在赶进度,时间不太充裕。
作者:
谢波
时间:
2013-3-28 20:57
{:soso_e127:}Int 类型的数据与 Float类型数据 进行运算的时候,结果的确是会转换为 Float 类型的数据哦
作者:
刘凯
时间:
2013-3-28 21:00
这个貌似就是转换成Float好吧,, 这个问什么要提升???
作者:
薛飞
时间:
2013-3-28 21:06
本帖最后由 薛飞 于 2013-3-28 21:07 编辑
{:soso_e127:}int+float=float,这个没问题啊,没出错啊。这个不符合自动提升的条件啊,为什么要自动提升为double,楼主把大家搞晕了
作者:
曹宇
时间:
2013-3-28 21:09
在我所知道的东西里面 也是 符合int+float=float 额 对于楼主所说的 在JVM 里面的啥啥啥会提升到 double
还希望有大神出来解答一下,很好奇。
作者:
董霁辉
时间:
2013-3-28 21:43
基本数据类型,类型自动转换是当2个或2个以上基本数据类型运算时 低的自动转换为高的,然后再进行运算,如:int+float=float 过程是,int先自动转换为float,然后再与float运算。并非楼主想的那样子。本例中未涉及到Double,那么最终数据类型为float。毕老师木有讲错的。
作者:
陈丽莉
时间:
2013-3-28 21:52
若还有问题,请继续追问; 没有的话,将帖子分类改成【已解决】哦~
作者:
赵喜平
时间:
2013-3-28 22:20
楼主 int + float= float,貌似木有错,求解
作者:
Keith
时间:
2013-3-28 22:34
byte,short,char->int->float->double
byte,short,char之间不会互相互换,他们三者在计算时首先转换成int类型
作者:
贺靖轩
时间:
2013-3-29 08:57
呵呵 经过大家一番讨论 我终于明了
有码有真相:
引处引用芦青马马的证据:
class Demo
{
public static void main(String[] args)
{
int a=6;
float f=3.3f;
float i=a+f;
System.out.print(i);
}
}
根据代码的运算情况:Int 类型的数据与 Float类型数据进行运算的时候,最终是能用float接受的..如果是double类型,赋值会损失精度的..你在好好理解下毕老师的类型转换吧
哈哈 我又中枪了 关于这个问题
byte,short,char->int->float->double
byte,short,char之间不会互相互换,他们三者在计算时首先转换成int类型 是可以套用的规律,引用9#。
恩 问题大概是解决了 楼主最近也是压力比较大 下面由楼主来演示下为何会得出开始时的结论,“剑指毕老爷”。
楼主的测试关键代码如下:
a. int i=6;
b. float f=i+0.3;
c. System.out.print(f);
相信大家现在已经看猫腻了,对吧? 不可轻视了
l f
这样看似微末的东东。
0.3在这里未加f,则表示其是一个double类型的数据,
int 类型的 i 同double 类型的0.3运算,结果铁定是double类型的了
楼主是那种很抠的人 那么在引用类型中 上面的问题会有怎样的表现?
Integer i=new Integer(6);
f=new Float(6+0.3);
System.out.println(f);
请问 f=new Float(6+0.3); 中,(6+0.3)是什么类型?
我一切错误的根源大概就在这里
此为Float封装类的构造方法
public Float(double value)
{
this.value = (float)value;
}
相信大家一看就明白了
(6+0.3)铁定是Double类型了
写这个看似啰嗦的情况是为了再次提醒大家和自己
不会忽略
那些
细枝末节{:soso_e136:}
作者:
贺靖轩
时间:
2013-3-29 12:00
陈丽莉 发表于 2013-3-28 21:52
若还有问题,请继续追问; 没有的话,将帖子分类改成【已解决】哦~
亲 ... 找不到 【已解决】
作者:
黄玉昆
时间:
2013-3-29 13:02
贺靖轩 发表于 2013-3-29 12:00
亲 ... 找不到 【已解决】
http://bbs.itheima.com/thread-42978-1-1.html
亲,这里有相关解决办法哦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2