java中基本数据类型和引用数据类型各有什么特点

如题所述

两者之间的关系

特点:

一、从概念方面来说

基本数据类型:变量名指向具体的数值
引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值

二、从内存构建方面来说

基本数据类型:变量在声明之后java就会立刻分配给他内存空间

引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址。

三、从使用方面来说

基本数据类型:使用时需要赋具体值,判断时使用“==”号

引用数据类型:使用时可以赋null,判断时使用equals方法

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-29
1、布尔型 - boolean

1)boolean类型适用于逻辑运算,一般用于程序流程控制;
2)boolean类型数据只允许true或false,0或非0的整数不能替代true和false。

2、字符型 - char

1)char型数据用来表示通常意义上的“字符”;
2)字符常量为用单引号括起来的单个字符;
3)Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示;
4)Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义。

3、整型 - int、short、long、byte

1)Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性;
2)Java语言整数常量的三种表示形式:

1)十进制整数;
2)八进制整数,要求以0开头;
3)十六进制整数,要求以0x或0X开头。
3)Java语言的整型常量默认为int类型,声明long类型常量可以后加'l'或'L';
4)Java语言中,所有数都是带符号的(正、负)。

类型

存储空间

取值范围

byte

1字节

-128 ~ 127

short

2字节

-215 ~ 215-1

int

4字节

-231 ~ 231-1

long

8字节

-263 ~ 263-1

4、浮点型 - float、double

1)与整数类型类似,Java浮点类型有固定的表数范围和字段长度;
2)Java浮点类型常量有两种表示形式:
1)十进制数形式;
2)科学计数法形式;
3)Java浮点类型常量默认为double类型,如要声明一个常量为float类型,则需要在数字后面加'f'或'F';
4)float类型的精度为6-7位,double类型的精度为15位。

类型

存储空间

取值范围

float

4字节

-3.403E38 ~ 3.403E38

double

8字节

-1.798E308 ~ 1.798E308本回答被网友采纳
第2个回答  2012-04-24
基本数据类型有8种,byte,char,int,float,short,double,long,boolean.
其他的都是引用类型。顾名思义,引用类型的实例在栈中,保存的是数据在堆中的物理地址,只是一个“引用”。就相当于一个箭头,指向堆中的数据一样。
第3个回答  2012-12-11
对基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值。赋值操作传递的是变量的值,
改变一个变量的值不会影响另一个变量的值。

对引用数据类型,赋值是把原对象的引用传递给另外一个引用。对数组而言,当一个数组引用赋值给另外一个数组引用后,
这两个引用指向同一个数组,也就是指向同一块内存空间。
第4个回答  2012-04-24
没有那么大区别,
举个简单例子说明
class A{
private int age;
private String name;
}

int是基本数据类型,当你new A()得时候,age自动赋值为0;
但是对于引用类型name来说,此时只会分配一个引用,指向null, 当你想使用name得时候不能直接引用,必须实例化之后才能使用。否则,会引起空指针exception本回答被网友采纳
相似回答