java中short、int、long、float、double取值范围「建议收藏」

java中short、int、long、float、double取值范围「建议收藏」对于java的数据类型,既熟悉又陌生,于是整理了这篇文档。最近的面试让我开始注意细节,细节真的很重要。一、分析基本数据类型的特点,最大值和最小值。1、基本类型:int二进制位数:32包装类:java.lang.Integer最小值:Integer.MIN_VALUE=-2147483648(-2的31次方)最大值:Integer.MAX_VALUE=2147

大家好,又见面了,我是你们的朋友全栈君。对于java的数据类型,既熟悉又陌生,于是整理了这篇文档。


最近的面试让我开始注意细节,细节真的很重要。




一、分析基本数据类型的特点,最大值和最小值。


1、


基本类型:int 二进制位数:32
包装类:java.lang.Integer



最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)



2、


基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)



3、


基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)



4、


基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38

 (2的128次方-1)


5、


基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308

 (2的1024次方-1)




二、经实践证明,在代码中,能够写的位数。


1、首先是整型


      int和long只能写10个数字,short只能写5个数字,多了就会报错。



  1. int h=1234567890;
  2. long w=1234567890;
  3. short s=12345;

如果此时我在它们每个上面再加上一个数字,就会:


java中short、int、long、float、double取值范围「建议收藏」


2、其次浮点



float的小数点后6位,double的小数点后16位。



  1. float m=123.45566778465651454545f;
  2. double n=3.1234567890123456789;

然后打印出来的结果是这样的:


java中short、int、long、float、double取值范围「建议收藏」




三、小插曲 —–int和Integer的区别

1.从定义上来看
 
 
 
 int 是基本类型,直接存数值(类似的还有float、double、String、char)
 
 
 
 Integer是对象,用一个引用指向这个对象(类似的有Float、Double、String)
2.从复杂度来看,Java 中的数据类型分为基本数据类型和复杂数据类型
 
 
 
 
int 是前者;Integer 是后者(也就是一个类)
3.初始化的方式不同
 
 
 
 int i =1;
 
 
 
 Integer i= new Integer(1);//integer 是一个类
 
 
 
 int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充);Integer 是一个类,是int的扩展,定义了很多的转换方法
注意:
类似的还有:
float Float;double Double;String
等,其中
String
较为特殊,基本类型和复杂类似关键字相同。
 
 
 
 例如,当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的,这是就需要这些内建类型的外覆类了。Java中每种内建类型都有相应的外覆类。
Java中int和Integer关系是比较微妙的。关系如下:
  • int是基本的数据类型;
  • Integer是int的封装类;
  • int和Integer都可以表示某一个数值;
  • int和Integer不能够互用,因为他们两种不同的数据类型;
举例说明
 
 
 
ArrayList A_List=new ArrayList();
 
 
 int n=40;
 
 
 Integer In=new Integer(n);
 
 
 A_List.add(n);//error
 
 
 A_List.add(In);//ok







总结:平时的积累是多么重要啊,细节,细节,细节,还是细节…………………………




PS:大呼一声细节:细节…………………………………………………………

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143094.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月22日 上午10:40
下一篇 2022年5月22日 上午11:00


相关推荐

  • oracle修改用户的密码_修改linux用户密码

    oracle修改用户的密码_修改linux用户密码oracle中修改用户密码首先是win键+R输入cmd输入sqlplus/assysdba,回车,此时进入到SQL>输入alterusersystemidentifiedbysystem;这行代码的意思就是修改system用户的密码为system(注意:代码末尾要加上;分号)…

    2022年7月28日
    13
  • java中垃圾回收机制_垃圾回收机制算法

    java中垃圾回收机制_垃圾回收机制算法一、如何确定某个对象是“垃圾”?这一小节先了解一个最基本的问题:如果确定某个对象是“垃圾”?既然垃圾收集器的任务是回收垃圾对象所占的空间供新的对象使用,那么垃圾收集器如何确定某个对象是“垃圾”?通过什么方法判断一个对象可以被回收了。在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。不失…

    2022年10月13日
    4
  • mysql查询前十条记录_查询前十条数据

    mysql查询前十条记录_查询前十条数据select*fromno_primary_keyorderbyidlimit10;#显示从id=1到id=10的前10条记录;   select*fromno_primary_keylimit10;#随意显示其中10条记录;   注意:不能用sel来代替select;但是可以用desc来代替describe;

    2025年10月7日
    6
  • Linux文件的压缩和解压命令tar

    Linux文件的压缩和解压命令tar压缩文件扩展名打包并压缩文件tar的参数语法:tar[参数]压缩包名一个或多被打包的文件功能作用压缩一个或多个文件-c必须,创建一个压缩包-v可选,显示压缩的详细信息-z压缩,如果没有则只是打包-f<压缩文件名>后面必须指定文件名操作演示:定位于root目录,将当前目录下的Hello.java和Hello….

    2022年5月17日
    65
  • 市值双双冲高,殊途同归还是渐行渐远

    市值双双冲高,殊途同归还是渐行渐远

    2026年3月15日
    3
  • linuxnodejs安装及环境配置_nodejs不是内部外部命令

    linuxnodejs安装及环境配置_nodejs不是内部外部命令安装环境本机系统:Windows10Pro(64位)Node.js:14.17.5(64位)安装Node.js步骤《1》下载对应你系统的Node.js版本:https://nodejs.org/en/download/《2》选安装目录进行安装《3》环境配置《4》测试前期准备(1)进入官网下载地址下载Node.js(2)如果要下载指定版本既可选择下边链接开始安装(1)下载完成后,双击“node-v6.9.2-x64.msi”,开始安装Nod..

    2025年11月25日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号