64位 java 数据类型_java 数据类型
java 数据类型
转载请注明出处:https://www.cnblogs.com/guoapeng/p/13783339.html
第一章:java 基本数据类型
Java 中的基本数据类型只有以上 8 个,除了基本类型(primitive type),剩下的都是引用类型(reference type)。
原始类型:boolean,char,byte,short,int,long,float,double。
包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double。
1. 布尔型:
原始类型(primitive type):
boolean:
说明:boolean数据类型表示一位的信息, 但是由于虚拟机处理的最小单位是byte, 所以存储一位的boolean信息仍然需要1byte。
存储字长:1byte
值范围:false, true
包装类型(reference type):
Boolean(java.lang.Boolean)
存储字长:
对象头(Header)(Markword + 类指针kclass):
32位系统上占用8bytes,64位系统上占用16bytes
实例数据(Instance Data):1byte
对齐填充(Padding):7bytes
总共:32位系统上占用16bytes,64位系统上占用24bytes
值范围:Boolean.FALSE, Boolean.TRUE
2. 整型:
8位:
原始类型(primitive type):
byte:
说明:byte 数据类型是8位、有符号的,以二进制补码表示的整数;
存储字长:1byte
值范围:-128(-2^7)到 127(2^7-1)
默认值:0
包装类型(reference type):
Byte(java.lang.Byte):
存储字长:32位系统上占用16bytes,64位系统上占用24bytes(参考Boolean对象存储结构推算)
16位:
原始类型(primitive type):
short:
说明:short 数据类型是 16 位、有符号的以二进制补码表示的整数
存储字长:2byte
值范围:-32768(-2^15)到 32767(2^15-1)
默认值:0
包装类型(reference type):
Short(java.lang.Short)
存储字长:32位系统上占用16bytes,64位系统上占用24bytes(参考Boolean对象存储结构推算)
32位:
基本类型(primitive type):
int
说明:int 数据类型是32位、有符号的以二进制补码表示的整数;
存储字长:4byte
值范围:-2,147,483,648(-2^31)到 2,147,483,647(2^31-1)21亿多, 比中国人口多约二分之一,约是世界人口的三分一
默认值:0
包装类型(reference type):
Integer(java.lang.Integer)
存储字长:32位系统上占用16bytes,64位系统上占用24bytes(参考Boolean对象存储结构推算)
64位:
原始类型:
long
说明:long 数据类型是 64 位、有符号的以二进制补码表示的整数;
值范围:-9,223,372,036,854,775,808(-2^63)到 9,223,372,036,854,775,807(2^63 -1)什么概念?
包装类型(reference type):
大于64位
对于某些科学计算,64位整数依然不够用, 比如本人曾经就遇到64位不够用的情况,用计算机尽可能快地求出尽可能多的素数,然而对于大于64位的整数java没有提供原始类型,此时可以使用java 类库提供的包装类型BigInteger(java.math.BigInteger) 该类是Number(java.lang.Number)的子类。
BigInteger bi = new BigInteger("1234567890");
System.out.println(bi.pow(5)); // 2867971860299718107233761438093672048294900000
BigInteger:
说明:BigInteger内部用一个int[]数组来模拟一个非常大的整数,BigInteger用于表示任意大小的整数;
BigInteger是不变类,并且继承自Number;
将BigInteger转换成基本类型时可使用longValueExact()等方法保证结果准确,但是要处理ArithmeticException;
将BigInteger转换成基本类型时也可使用longValue()等方法,如果BigInteger表示的范围超过了基本类型的范围,转换时将丢失高位信息,即结果不一定是准确的。
3. 浮点型:
32位
原始类型(primitive type):
float
说明:float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;浮点数不能用来表示精确的值,如货币;
值范围:IEEE745 ~ IEEE754
默认值是 0.0f;
包装类型(reference type):
Float(java.lang.Float)
64位
原始类型(primitive type):
double
说明:double类型同样不能表示精确的值,如货币;
值范围:IEEE745 ~ IEEE754
默认值是 0.0d;
包装类型(reference type):
Double
大于64位
java未提供大于64位浮动数的原始类型,但是在Java类库中提供了包装类型BigDecimal(java.math.BigDecimal)
货币单位建议使用java类库提供的包装类型BigDecimal
MYSQL数据库选择decimal类型,注意默认值 一定写成0.00, 不要用默认的NULL, 否则在进行加减排序等操作时, 会带来转换的麻烦!
4. 字符型:
原始类型(primitive type):
char
说明:char类型是一个单一的 16 位 Unicode 字符
值范围:Unicode 0 ~ Unicode 2^16
默认值:\u0000 (Unicode 0)
包装类型(reference type):
Character(java.lang.Character)
5. 字符串类型:
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
String实例的值是通过字符数组实现字符串存储的。
7. 数据类型小实验
浮点数为什么不能用来表示货币?
注:根本原因是:十进制值通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可能不精确。只能无限接近于那个值.
8. 参考文档:
java一个对象占用多少字节?
java 中 BigDecimal 详解
BigInteger:
深入理解Java String类
64位 java 数据类型_java 数据类型相关推荐
- Windows 32、64位系统编译器各数据类型大小和字节对齐关系
何为32位64位? 32位64位其实就是32bit 64bit ,32位cpu单次处理指令4字节,64位8字节,因为1字节=1byte=8bit(32/8=4字节,64/8=8字节) 32位编译器:3 ...
- java+字节码工具64位_jclasslib 下载-jclasslib 32位64位(java字节码查看工具) 5.1 官方版 - 河东下载站...
jclasslib是款免费的开源java字节码的查看工具:它支持进行查看您需要进行使用汉字运用到的Java字节码,并且还拥有一个的类库来让开发者进行读取,包括了修改.对JavaClass文件.字节码的 ...
- java教程win7 64位_win7系统安装64位JAVA的方法
JAVA分32位版本和64位版本,有些用户要安装java的话,就要安装64位版本的JAVA,但是很多用户不知道要怎么操作,本文就给大家讲解一下 1.打开Windows7中的"计算机" ...
- java jdk 7 64位_jdk1.7 64位下载-jdk7 64位(Java SE Development Kit 7)下载 7u80 官方正式版-IT猫扑网...
jdk7 64位(java SE Development Kit 7)是一个适合java开发人员安装使用的运行环境,jdk应用于很多开发软件产品,这里为大家分享的是jdk1.7 64位的完整安装包,需 ...
- 64位 java 数据类型_全面解析Java支持的数据类型及Java的常量和变量类型
基本数据类型变量就是用来储存值而保留的内存位置.这就意味着当你创建一个变量时就会在内存中占用一定的空间. 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中.因此,通过给变量分 ...
- java 分析数据类型_Java数据类型分析
Java的简单数据讲解列表以下:编程 int:int为整数类型,存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0. ...
- 32位与64位机器下各数据类型长度对比
64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1 32 位和 64 ...
- java 高级数据类型_java 数据类型(上):分类
java 数据类型有两种,一是基本数据类型,二是引用数据类型 一:基本数据类型 基本数据类型 有8种 布尔型(boolean),字节型(byte),字符型(char),短整型(short),整型( ...
- java 1.6u29 下载_jdk1.6 64位下载|JDK 6(Java SE Development Kit)下载6u43 64位官方版_java运行环境 IT猫扑网...
jdk1.6 64位适用于x64的系统安装的java运行环境,Java SE Development Kit6是java开发人员必备的产品,也叫做jdk6,欢迎下载使用. 官方介绍 适用于您的计算机( ...
- java p代表哪种数据类型_java数据类型(八种基本数据类型+三种引用类型)
1.整型 类型 占用字节 取值范围 byte 1 ...
最新文章
- Spring Boot中使用Flyway来管理数据库版本
- python自动化办公都能做什么菜-python+selenium自动化(一)之环境搭建
- IBASE archive pre-processing report RIBARCHV
- 江西理工大学期末试卷c语言,2016年江西理工大学信息工程学院计算机应用技术(加试)之C语言程序设计复试笔试最后押题五套卷...
- 手机java软件_浅谈软件开发就业前景
- 前端自动化打包工具--webpack
- python数据结构-树
- 20155301 Exp7 网络欺诈防范
- 在Win10系统的服务器上离线安装SQL Server 2012中出现“启用windows功能NetFx3时出错”
- Eclipse安装SVN插件的方法
- 海康SDK语音转发实现(ubuntu)
- 平板触控笔有哪些用途?实用平板电脑手写电容笔推荐
- windows下的流氓软件删得彻底点
- gpio rk3399 控制_RK3326 RK3399 GPIO寄存器操作笔记
- 基于android的手机选课系统的实现
- Redis之时间轮机制(五)
- HTML之基础标签_思维导图版
- 选择排序(升序排列)
- 【观察】戴尔易安信ECS:领跑企业级对象存储,背后的底蕴与底气
- 强强联手 法大大电子合同金蝶云·苍穹版上线
热门文章
- 应用随机过程张波商豪_应用随机过程张波课后答案
- 【历史上的今天】7 月 3 日:人体工程学标准法案;消费电子领域先驱诞生;育碧发布 Uplay
- 超级详细的手把手教你使用Lighthouse更好推动项目性能优化,性能指标详解,优化方法,需要关注指标分析
- JAVA自学之路马士兵教程观看顺序
- java多线程执行任务(工具)
- 《Hibernate官方文档》_笔记
- OCR(联机手写汉字识别)
- 社交网站Friendster获第四项美国专利
- (CNVD-2021-49104) 泛微E-Office v9.0任意文件上传漏洞
- php微积分难吗,两句话让你学好微积分