java基本数据类型各占多少字节,int和Integer区别
基本数据类型
类型 | 字节数 | 取值范围 |
---|---|---|
byte | 1 | −27 − 2 7 -2^7到 27−1 2 7 − 1 2^7-1 |
short | 2 | −215 − 2 1 5 -2^15到 215−1 2 1 5 − 1 2^15-1 |
int | 4 | −231 − 2 3 1 -2^31到 231−1 2 3 1 − 1 2^31-1 |
long | 8 | −263 − 2 6 3 -2^63到 263−1 2 6 3 − 1 2^63-1 |
char | 2 | \u0000~\uFFFF |
float | 4 | 小数 |
double | 8 | 范围更大,精度更高 |
boolean | 1 | 前七位是0 |
注意:而然,在实际的开发过程中,Double.valueOf(String) 和Float.valueOf(String)会丢失精度。如果我们需要精确计算的结果,则必须使用BigDecimal类来操作!一般项目中都会写一个BigDecimal的工具类,可自行百度。
基本数据和包装类
原因:
- java是面向对象语言,基本数据类型并不是一个具体的类,用包装类可以更好的提现万物基于对象这一理念。
- 集合中的泛型需要基类是Object类型,所以必须有个对象的包装类才能使用
区别:
- 包装类属于引用数据类型,所以它们之间的区别就是基本数据类型和引用数据类型的区别。反应到内存中,基本数据类型的值是存放在栈里面,而包装类的栈存放的是值得地址,值存放在堆内存中。
- 初始值不同,eg: int的初始值为 0 、 boolean的初始值为false 而包装类型的初始值为null
注意:
在java中,Integer,Short,Byte,Character,Long有缓存机制。浮点型没有该机制,大小范围除Character为0-127外其余均为-128–127.
具体举例为:
Integer a1 = 1;Integer a2 = 1;Integer b1 = 200;Integer b2 = 200;Integer c1 = Integer.valueOf(1);
// Integer c2 = new Integer(1); 官方不推荐这种建对象的方法喔Integer c2 = Integer.valueOf(1);Integer d1 = Integer.valueOf(200);Integer d2 = Integer.valueOf(200);System.out.println("a1==a2?" + (a1 == a2));//trueSystem.out.println("b1==b2?" + (b1 == b2));//falseSystem.out.println("c1==c2?" + (c1 == c2));//falseSystem.out.println("d1==d2?" + (d1 == d2));//false
可以看到,不同的创建方式也有是否用缓存的区别,大家可以细细体会。
java基本数据类型各占多少字节,int和Integer区别相关推荐
- java long是几个字节_java基本数据类型各占多少字节
java基本数据类型各占字节为:1.整型byte占用1个字节,short占用2个字节:2.浮点型float占用4个字节,double占用8个字节:3.char型占用2个字节. 相关学习推荐:java基 ...
- java 基本数据类型所占字节数及其范围
java学习笔记:java 基本数据类型所占字节数及其范围 所占字节数 类型范围 浮点数可表示的范围非常大,float类型可最大表示3.4 x 10^38 ,而double类型可最大表示1.79 x ...
- 不同位数编译器下的基本数据类型所占的字节数(字节大小):
不同位数编译器下的基本数据类型所占的字节数: 16位编译器 char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节 unsigned int ...
- java原生类型没有封装_Java基本数据类型与封装类型详解(int和Integer区别)
Java基本数据类型与封装类型详解(int和Integer区别) 发布于 2020-4-19| 复制链接 摘记: int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Int ...
- java 封装表单数据类型_Java基本数据类型与封装类型详解(int和Integer区别)
int是java提供的8种原始数据类型之一. Java为每个原始类型提供了封装类,Integer是java为int提供的封装类(即Integer是一个java对象,而int只是一个基本数据类型).in ...
- Java中文字符所占的字节数
本文由广州疯狂软件java培训为你整理: Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2 ...
- 什么是字节?字节的大小以及常用数据类型所占的字节
一.什么是字节 字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位,也表示一些计算机编程语言中的数据类型和语言字符. 二.字节的大小关系 常见的字节类型及大小关 ...
- Java中long(Long)与int(Integer)之间的转换
文章目录 Java中long(Long)与int(Integer)之间的转换方式 一.将long型转化为int型,这里的long型是基础类型: 二.将Long型转换为int型,这里的Long型是包装类 ...
- JAVA基本数据类型所占字节数是多少?
byte 1字节 short 2字节 int 4字节 long 8字节 ...
最新文章
- 数据结构源码笔记(C语言):可变长度字符串的快速排序
- SDN教育城域网解决方案
- 中国二氧化碳激光器行业现状研究与可行性分析报告2022-2028年版
- python基础教程:python中@的用法
- MyEclipse中快捷键
- Can not load “libqxcb.so”
- kubernetes 实战 使用 nfs 作为动态 storageClass 存储
- 第二届大数据科学与工程国际会议在贵阳成功召开
- Vue之动态组件(二)
- Spring Boot(17)配置文件解析
- label mpchart 饼图_Android MPChart—饼图-Go语言中文社区
- Google+ 团队的 Android UI 测试
- SFTP连接服务器后,PWD显示的目录、是用户的home目录
- redis入门(转)
- 象棋( Xiangqi, ACM/ICPC Fuzhou 2011, UVa1589)
- CSS实现长宽比的几种方案,CSS如何实现长宽比?
- Microsoft SQL Server 2008 MDX Step by Step中关于MDX Step-by-Step.abf损坏文件的处理
- Zion无代码,流量主介绍和使用
- [react] Target container is not a DOM element
- 在linux下安装xp系统