A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 贾成龙 于 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呢?中间有什么转化吗?搞不懂!求大牛们解释!

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
因为new Float(1)....
回复 使用道具 举报
王健 发表于 2012-8-17 00:27
因为new Float(1)....

详细点吧!
回复 使用道具 举报
王健 发表于 2012-8-17 00:27
因为new Float(1)....

回答 详细点吧!
回复 使用道具 举报
new Integer(3) : new Float(1);

因为是float类型的
回复 使用道具 举报
贾成龙 发表于 2012-8-17 00:40
详细点吧!

toBe是flalse
result是float类型的
当然是3.0了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马