java中short、int、long、float、double取值范围

摘要:
inth=1234567890;长w=123467890;短裤=1345;如果我在这个时候给每个数字加一个数字,它将是:浮点浮点小数点后2.6位,双精度小数点后16位。例如,当需要将内容放入ArrayList和HashMap时,不能放入int和double等内置类型,因为容器用于保存对象,这需要这些内置类型的外部覆盖类。Java中的每个内置类型都有一个对应的覆盖类。在Java中,int和Integer之间的关系很微妙。

一、分析基本数据类型的特点,最大值和最小值。
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取值范围第1张

2、其次浮点
float的小数点后6位,double的小数点后16位。

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

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

java中short、int、long、float、double取值范围第2张

三、小插曲 -----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

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

免责声明:文章转载自《java中short、int、long、float、double取值范围》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nginx 大文件分片上传处理django实现支付宝支付下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

C# 如何提取SaveFileDialog的保存路径

直接使用代码1publicTestOne()2{3InitializeComponent();4SaveFileDialog();//调用打开SaveFileDialog保存对话框5}67#区域保存对话框8privateevoidSaveFileDialog()9{10//startlocalFilePath,fileNameExt,newFileName,...

MyBatisPlus使用

简介MyBatis Plus是MyBatis的增强工具。基于MyBatis,只进行了增强而不进行更改。它旨在简化开发并提高效率。...

四、使用ADB命令清除缓存

1、 ADBShell应用程序查看目录结构:adbshells查看系统当前日期:adbselldate查看系统CPU使用情况:adbsHELcat/proc/cpuinfo查看系统内存使用情况:adbshellcat/proc/meminfo显示所有应用程序:adbshelpmlistpackages显示系统自带的应用程序:adshellpmlistpack...

硬中断与软中断的区别!

在多核系统上,一个中断通常只能中断一个CPU(也有一种特殊情况,即主机上有一个硬件通道。它可以在没有主CPU支持的情况下同时处理多个中断。软中断:1。软中断与硬中断非常相似。生成软中断的进程必须是当前正在运行的进程,因此它们不会中断CPU。...

建行手机银行4.0版本转账怎么不要求输入支付密码?

建行手机银行单笔限额50万,日限额100万,这个6位数的验证码价值50万元!输入6个数字的支付密码只需要几秒钟而已,转账操作频率不是很高,手机银行转账速度比人工柜台、ATM、电脑网银转账速度不知道快了多少倍,输入6个数字的支付密码这几秒钟相对安全性算什么呢?另外建行还有帐号支付的方式,对电子商户日限额10000元,只需要帐号+手机验证码就可以支付,密码都不用...

neo4j修改密码

输入neo4j提供的可视界面,并输入::serverchange密码。键入原始密码和新密码以修改浏览器。在系统数据库(:usesystem)中,执行以下命令ALTERUSERneo4jSETPASSWORD“mynewpass”:;...