java基本类型中,不明确指定类型,整数与带小数的数字分别默认的类型

java基本类型中,不明确指定类型,整数与带小数的数字分别默认的类型

牛客刷到的一道题

Q: 在基本JAVA类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型

整数类型很好猜,是int,那么带小数的呢。例如2.22

是float还是double?

上demo

package com.backend.utils;

public class TypeDemo {
    public static void main(String[] args) {
        System.out.println(getType(1));
        System.out.println(getType(1.1));
    }
    public static String getType(Object o){
        return o.getClass().getTypeName();
    }
}

执行main方法

java.lang.Integer
java.lang.Double

由此可知带小数的默认类型为double

but,感觉题目不太严谨,没有限制整数的大小

当输入十个9,idea给出提示,整数过大

请添加图片描述

我们在这十个9后加一个L,以区别这是long类型

 System.out.println(getType(9999999999L));

输出的结果为

java.lang.Long

我们知道,Integer的最大值为0x7fffffff,也就是2^31-1 、2147483647

超出就需要转为Long类型

Long类型的最大值为0x7fffffffffffffffL,也就是2^63-1、9223372036854775807

如果超出9223372036854775807,则需要指定BigInteger类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值