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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为太极magisk安装教程_教程:如何升级太极内部的应用

    华为太极magisk安装教程_教程:如何升级太极内部的应用使用过太极的小伙伴都知道,要把应用添加到太极(magisk版除外)中是个麻烦事儿:首先得花费大量的时间来创建应用,然后还必须卸载原来的应用,安装完毕之后又要花很长的时间来优化。如果待创建的应用安装包比较大并且你手机的CPU不在工作状态,那这个流程就不是一般的长了。这时候就有童鞋会问了,如果我在太极里面创建的应用要升级了怎么办?是不是每次升级都需要卸载原应用?实际上,在太极内部升级应用…

    2022年6月3日
    163
  • hive 修改字段类型和增加字段表

    hive 修改字段类型和增加字段表Hive表修改字段类型Altertable表名 changecolumn原字段名称 现字段名称 数据类型 新增字段表altertable表名addcolumns(字段名数据类型)  

    2022年5月16日
    45
  • 如何搭建yum源仓库_yum源在哪个目录

    如何搭建yum源仓库_yum源在哪个目录cd/etc/yum.repos.dtouchaliyun.repovialiyun.repoi(输入状态,否则会丢失部分头部字符)粘贴以下内容esc:wqyummakecache提示成功阿里云yum源仓库#CentOS-Base.repo##ThemirrorsystemusestheconnectingIPaddressoftheclientandthe#updatestatusofeachmirrortopickmirr

    2025年7月17日
    7
  • torch.meshgrid()函数解析

    torch.meshgrid()函数解析torch.meshgrid()函数解析torch.meshgrid()的功能是生成网格,可以用于生成坐标。函数输入两个数据类型相同的一维张量,两个输出张量的行数为第一个输入张量的元素个数,列数为第二个输入张量的元素个数,当两个输入张量数据类型不同或维度不是一维时会报错。其中第一个输出张量填充第一个输入张量中的元素,各行元素相同;第二个输出张量填充第二个输入张量中的元素各列元素相同。#【1】importtorcha=torch.tensor([1,…

    2022年6月5日
    130
  • python模块之psutil详解

    python模块之psutil详解python模块之psutil详解一、psutil模块:1.psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill…

    2022年6月12日
    34
  • python interpolate.interp1d_将MATLAB的interp1转换为Python interp1d

    python interpolate.interp1d_将MATLAB的interp1转换为Python interp1d我正在将MATLAB代码转换为Python代码。在代码使用MATLAB中的函数interp1。我发现scipy函数interp1d应该是我想要的,但我不确定。你能告诉我我实现的代码是否正确吗?我的Python版本是3.4.1,MATLAB版本是R2013a,但是代码已经在2010年左右实现了]。在MATLAB:S_T=[0.0,2.181716948,4.363766232,6.5464…

    2022年4月30日
    63

发表回复

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

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