JAVA中的数据类型
温故而知新,可以为师矣。再学JAVA第一篇之数据类型,什么是数据类型?java中有哪些数据类型?
一、什么是数据类型
程序设计是对现实世界的抽象。程序=数据+算法。数据有很多种,数字,文字,图片,音频,视频等等,都是数据。程序就是用相应的逻辑对这些数据做处理。数据类型描述了一类数据。包括行为、特性等。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解。
二、java中的数据类型
Java是强类型语言,所以Java对于数据类型的规范会相对严格。在Java里面,本质上讲将数据类型分为两种:基本数据类型和引用数据类型。
基本数据类型
何为基本数据类型?
简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。java中基本数据类型有哪些?
java中有八种数据类型,分为四类,如下表:
类型 | 属于哪一类 | 占用内存空间(位)\字节(byte) | 默认值 |
---|---|---|---|
byte | 整数类型 | 8 \ 1 | 0 |
short | 整数类型 | 16 \ 2 | 0 |
int | 整数类型 | 32 \ 4 | 0 |
long | 整数类型 | 64 \ 8 | 0L |
float | 浮点类型 | 32 \ 4 | 0.0f |
double | 浮点类型 | 64 \ 8 | 0.0d |
char | 字符型 | 16 \ 2 | ‘\u0000’ |
boolean | 布尔型 | 1 | false |
上表中对各种类型数据的大小做了标注。这里说明下一些数据大小单位常见概念:
我们知道,数据都是以0/1的组合,以二进制的形式存储在计算机中的。
存储就要计算大小,就需要衡量的单位。
很明显,1010比10占的空间要多,因为1010是4位数,10是二位数,而”位(数位)” 就是衡量的最小单位:bit(位,是“Binary digIT”二进制的缩写)。
位在计算机中极少单独出现。它们几乎总是绑定在一起成为8位集合,称为字节。即:
8位二进制的数=一个字节(Byte)
为什么一个字节中有8位呢?一个类似的问题是:为什么一打鸡蛋有12个呢?8位字节是人们在过去不断总结而确定下来的。
常用的,1MB=1024*1024(KB)=1024*1024*1024(Byte)=1024*1024*1024*8(Bit)
引用数据类型
何为引用数据类型
类似C/C++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址java中有哪些引用数据类型
三种:类、接口、数组
三、各数据类型在内存中的存储
基本类型:基本数据类型存储在栈中,数值本身就存储在栈空间里
引用类型:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的
所以存在 讨论
"=="
和equals
区别的问题