- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本数据类型取值范围讲解
Java 基本数据类型取值范围讲解
Java基本数据类型取值范围讲解2011-07-07 16:44 java中的类型概念名的说法不一、让我很是迷茫,我个人的理解整理,如有错误还请高人指点,!
一、Java的类型词语理解:
1)原始数据类型,简单类型,基本类型都是一个含义;
2)复合类型,扩展类型,复杂类型、引用类型都是一个含义;
3)浮点类型,实数、实型都是一个含义;
4)逻辑型、布尔型都是一个含义;
5)本人个人认同的类型分类:
阅读时需要理解:
定点:定点的意思是把小数点定在末尾,小数点后没有数字的数据,Java中通常把它们称为整数;
常量:就是直接的值;
变量:放置常量的容器,除了放置常量之外,也可以给变量一个运算式,变量中的值是可变的;
二、Java数据类型基本概念:
数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。
基本类型简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。
引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。
三、Java中的数据类型与内存的关系
在Java中,每个存放数据的变量都是有类型的,如:
char ch;float x;int a,b,c;
ch是字符型的,就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同,同时存储方式也是不同的。
所以给变量赋值前需要先确定变量的类型,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。
四、Java数据类型在内存中的存储:
1)基本数据类型的存储原理:所有的简单数据类型不存在引用的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型;
2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,引用是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的;
区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的(需要java中的栈、堆概念),
基本类型和引用类型的内存模型本质上是不一样的。
例1:我们分析一下==和equals()的区别。
首先,我定以两个String对象
String a=abc;
String b=abc;
然后
if(a==b){
System.out.println(a==b);
}else{
System.out.println(a!=b);}
程序输出a!=b
原因:a和b的地址是不相同的,a==b比较的是两个变量的地址
例2:定义两个基本类型
int a=4;
int b=4;
if(a==b){System.out.println(a==b);}
else
{System.out.println(a!=b);}
输出:a==b
原因:==比较的是两个变量的内容
猜想:不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的指针,真正的内容被手动的分配在堆上。
五、Java基本类型取值范围计算
从计算机组成原理的角度可以解释:
byte在计算机中是占8个字节的,而且byte是有符号整形,用二进制表示时候最高位为符号位0代表正数1代表负数。
最大值:127即2的7次方减去1;最小值:即2的7次前面加个负符号:-128。(包含开始,不包含结尾);
正数在计算机中是以原码形式存在的;
负数在计算机中是以其补码形式存在的,就是负数的绝对值的原码转为二进制再按位取反后加1。
下边这个10和-10为例来介绍的:10原码:0000 1010它在计算机中的存储就是0000 1010,-10按照前面说的算除其绝对值为10,转为二进制0000 1010按位取反1111 0101再加1后:1111 0110,此为-10补码,好的,计算机中的1111 0110就是代表-10了。
我们来看-128绝对值128的二进制表示:1000 000
您可能关注的文档
- 商战模拟课程教学大纲和内容.doc
- 商场销售年终总结范文.doc
- 商标审查工作总结参考模板.doc
- 商砼企业运营管理咨询手册-.doc
- 商铺委托租赁合同范文.doc
- 商铺租赁合同意向书范文.doc
- 商铺门面租赁合同范文.doc
- 啤酒厂筹建项目(可行性研究报告).doc
- 喷锚和土方工程施工组织设计方案.doc
- 回流焊实训报告.doc
- 2025年事业单位工勤技能-江苏-江苏保育员三级(高级工)历年参考题典型考点含答案解析.docx
- 2026及未来5年中国高速滚筒分切机市场调查、数据监测研究报告.docx
- 2026及未来5年中国通用节能型常明灯市场调查、数据监测研究报告.docx
- 2026及未来5年中国木质台灯市场调查、数据监测研究报告.docx
- 2026及未来5年中国雪蟹二本爪市场调查、数据监测研究报告.docx
- 2026及未来5年中国PVC自粘片市场调查、数据监测研究报告.docx
- 2026及未来5年中国牙架组件市场调查、数据监测研究报告.docx
- 2026及未来5年中国1-乙酰基-4-哌嗪市场调查、数据监测研究报告.docx
- 2026及未来5年中国螺旋槽管市场调查、数据监测研究报告.docx
- 2026及未来5年中国金色封面硬抄本市场调查、数据监测研究报告.docx
最近下载
- 烟台大学 积极心理学教案烟台大学 积极心理学教案.doc VIP
- 内镜室护士培训课件.pptx VIP
- TED中英官方演讲稿-PatriciaMedici_2015F[Patricia Medici][你一无所知的一种最酷的动物 _ 我们该如何拯救它].pdf VIP
- 专题十 等边三角形(2)——手拉手与夹半角的构造.pptx VIP
- 课题结题报告.docx VIP
- 生成式AI在初中数学课堂中促进分层教学的实践研究教学研究课题报告.docx
- 2022年新生儿科第二季度核心能力考试 (1).docx VIP
- 已更新:安全生产法律法规清单(2025年6月版).doc
- 专题二 全等基本结构(2)——夹半角的构造与截长补短.pptx VIP
- 档案录入员考试真题及答案.docx VIP
原创力文档


文档评论(0)