java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java引用数据类型

聊聊java中引用数据类型有哪些

作者:xiaoming3526

这篇文章主要介绍了java中引用数据类型有哪些,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java中引用数据类型有哪些

Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:

1、boolean:数据值只有true或false,适用于逻辑计算。

2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用Unicode编码,它的前128字节编码与ASCII兼容字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,

3、byte:byte型(字节型)数据在内存中占用1个字节,表示的存储数据范围为:-128~127。

4、short:short型(短整型)数据在内存中占用2个字节。

5、int:int型(整型)数据在内存中占用4个字节。

6、long:long型(长整型)数据在内存中占用8个字节。

7、float:float型(单精度浮点型)数据在内存中占用4个字节。(float精度为7-8位)

8、double:double型(双精度浮点型)数据在内存中占用8个字节。

下面说说java中引用数据类型:

引用数据类型分3种:类,接口,数组;

一、类Class引用

可以是我们创建的,这里我不多讲,主要是讲解几个java库中的类

如:

Object object= new Integer(1); 来定义一个Interger类 
Integer i=(Integer) object;     在来把这个Object强制转换成Interger类 

同时也有对应的Class如:Integer Long Boolean Byte Character Double Float Short

二、接口interface引用

可以是我们创建的,这里我不多讲,主要是讲解几个java库中的接口interface

K - 此映射所维护的键的类型

V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

这里我们主要是用String List Map Object 是最常用Number ArrayList<E> Arrays等

三、数组引用

数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。

数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始。

数组的定义

大多数Java程序员喜欢使用第一种风格,因为它把数据类型int[],和变量名num分开了.

数组的初始化

Java中数组必先初始化后才能使用.

初始化就是给数组元素分配内存,并为每个元素赋初始值。

初始化数组的两种方式:

- 静态初始化:

语法格式:类型[] 数组名 = new 数组类型[]{元素1,元素2,元素3,...元素n};

简化语法:类型[] 数组名 = {元素1,元素2,元素3...元素n};

- 动态初始化:

如果我们事先不知道数组里存储哪些数据,只知道需要存储数据的个数,此时可以使用动态初始化方式。

动态初始化:初始化时由我们指定数组的长度,系统自动为数组元素分配初始值。

格式:类型[] 数组名 = new 数组类型[数组长度];

注意:无论,以哪种方式初始化数组,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化。也就是说数组是定长的。

为什么Java里有基本数据类型和引用数据类型?

引用类型在堆里,基本类型在栈里。

栈空间小且连续,往往会被放在缓存。引用类型cache miss率高且要多一次解引用。

对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文