本帖最后由 FFF 于 2013-10-7 19:55 编辑
这个是默认基本数据类型的问题:
-0/3 -0和3都是整形的int类型。而int类型的0格式为0,所以-0除3等于0
而-0.0/3.0默认的是double类型,而double类型的0格式为0.0,所以结果为0.0
如果算法和公式中有小数的,取小数的基本数据类型
如果在小数后加F或f(如0.12F或0.12f)则为float
如果小数后加D或d,或不加(如0.12D或0.12d或0.12)则为double类型
如果在数字后面加l则为int类型
我还记得有一个面试题是这样的
问:
输出System.out.ptintln(1+1l);
结果是什么?
正确的是输出为int类型的数字2
结果有人不小心把l看成是1输出为12,结果错了!
|