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用户密码修改_oracle数据库用户加密显示

    Oracle用户密码修改_oracle数据库用户加密显示oracle基本操作descall_tables;–查看表结构selectfromall_tables;–查看当前数据库所有的表selecttable_namefromuser_tables;查看当前登录的用户的表:selectfromdba_users;查看有哪些用户修改密码过期策略1.查看用户存放密码策略的proifle:SELECTUSERNAME,PROFILEF…

    2022年7月28日
    5
  • OpenClaw Windows 一键安装工具(转载网络)

    OpenClaw Windows 一键安装工具(转载网络)

    2026年3月13日
    3
  • 9. 数仓开发之 DWD 层

    9. 数仓开发之 DWD 层数仓开发之DWD层交易域加购事务事实表DWD层设计要点:DWD层的设计依据:维度建模理论,该层存储维度模型的事实表DWD层的数据存储格式:orc列式存储+snappy压缩DWD层表名的命名规范:dwd_数据域_表名_单分区增量****全量标识(inc/full)交易域加购事务事实表…

    2022年6月26日
    40
  • Intellij IDEA 2017 debug断点调试技巧与总结详解篇[通俗易懂]

    Intellij IDEA 2017 debug断点调试技巧与总结详解篇[通俗易懂]IntelliJIDEA使用教程(总目录篇)在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclips…

    2022年5月11日
    54
  • document4jWord转PDF转换器异常

    document4jWord转PDF转换器异常Document4j08 38 17 340 Thread 1 INFOc d c m MicrosoftWor processLine 35 08 38 17 365 main INFOc d c m MicrosoftWor startUp 47 From Microsoft Word Converterwas 38 17 380 main INFOc d j

    2026年3月19日
    2
  • wpscan无法更新数据库的解决方案

    wpscan无法更新数据库的解决方案今天想学一下 wpscan 日个站 结果发现一只卡在了这一步 忙活了一小时总算弄出来了 updatedb 先更新一下系统的索引 locatewpscan 定位到 wpscan 的目录这个大概就是我们想要的文件了 vim var lib gems 2 5 0 gems wpscan 3 5 4 lib wpscan db updater rb 把这个改成自己放文件的目录再下载这个包

    2026年3月16日
    2

发表回复

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

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