黑马程序员技术交流社区

标题: 已解决:关于Number类输出值的一个小问题,怎么也不理解? [打印本页]

作者: 贾成龙    时间: 2012-8-17 00:24
标题: 已解决:关于Number类输出值的一个小问题,怎么也不理解?
本帖最后由 贾成龙 于 2012-8-17 21:10 编辑

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        Random rnd = new Random();
        boolean toBe = rnd.nextBoolean();
        Number result = (toBe || !toBe) ?
                new Integer(3) : new Float(1);
        System.out.println(result);
    }
}



为什么结果是3.0?而不是3呢?中间有什么转化吗?搞不懂!求大牛们解释!
作者: 王健    时间: 2012-8-17 00:27
因为new Float(1)....
作者: 贾成龙    时间: 2012-8-17 00:40
王健 发表于 2012-8-17 00:27
因为new Float(1)....

详细点吧!
作者: 贾成龙    时间: 2012-8-17 00:40
王健 发表于 2012-8-17 00:27
因为new Float(1)....

回答 详细点吧!
作者: 巩彪    时间: 2012-8-17 00:45
new Integer(3) : new Float(1);

因为是float类型的
作者: 王健    时间: 2012-8-17 00:47
贾成龙 发表于 2012-8-17 00:40
详细点吧!

toBe是flalse
result是float类型的
当然是3.0了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2