java中基本数据类型和引用数据类型各有什么特点 5
7个回答
展开全部
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本数据类型有8种,byte,char,int,float,short,double,long,boolean.
其他的都是引用类型。顾名思义,引用类型的实例在栈中,保存的是数据在堆中的物理地址,只是一个“引用”。就相当于一个箭头,指向堆中的数据一样。
其他的都是引用类型。顾名思义,引用类型的实例在栈中,保存的是数据在堆中的物理地址,只是一个“引用”。就相当于一个箭头,指向堆中的数据一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值。赋值操作传递的是变量的值,
改变一个变量的值不会影响另一个变量的值。
对引用数据类型,赋值是把原对象的引用传递给另外一个引用。对数组而言,当一个数组引用赋值给另外一个数组引用后,
这两个引用指向同一个数组,也就是指向同一块内存空间。
改变一个变量的值不会影响另一个变量的值。
对引用数据类型,赋值是把原对象的引用传递给另外一个引用。对数组而言,当一个数组引用赋值给另外一个数组引用后,
这两个引用指向同一个数组,也就是指向同一块内存空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有那么大区别,
举个简单例子说明
class A{
private int age;
private String name;
}
int是基本数据类型,当你new A()得时候,age自动赋值为0;
但是对于引用类型name来说,此时只会分配一个引用,指向null, 当你想使用name得时候不能直接引用,必须实例化之后才能使用。否则,会引起空指针exception
举个简单例子说明
class A{
private int age;
private String name;
}
int是基本数据类型,当你new A()得时候,age自动赋值为0;
但是对于引用类型name来说,此时只会分配一个引用,指向null, 当你想使用name得时候不能直接引用,必须实例化之后才能使用。否则,会引起空指针exception
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询