JAVA数据类型分基本数据类型和引用数据类型。
boolean、byte、char、short、int、float、douboe、long
byte 字节
byte是JAVA中最小的数据类型,它在内存中占8位(8个bit),取值范围从-128到127
赋值:byte I = 127
short 短整型
short类型在内存中占2个字节,取值范围从 -32768到32767
赋值:short i = 32767;
char 字符型
char类型在内存中占2个字节。表示一个字符,也可以使用ASCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从 0 到 65535
赋值:char i = ‘a’; 或者 char i = 97;
int 整型
int型在内存中占4个字节。取值范围从 -2147483648 到 2147483647
赋值:int i = 10;
float 单精度 浮点型
float型在内存中占4个字节。取值范围从 -3.4E38 到 3.4E38
赋值:float i = 1.0f;
long 长整型
long型在内存中占8个字节。取值范围从 -9223372036854775808 到 9223372036854775807
double 双精度浮点型
double 型在内存中占8个字节。取值范围从 -1.7E308 到 1.7E308
boolean 布尔型
boolean类型只有两个值:true和false。
基本数据类型的相互转换
转型规则
JAVA中所有的数字变量都是有符号(正负)的。
JAVA不允许类型的随意转换。只有数字变量可以进行转换,但是不能随意。
带有小数点的数字变量默认都为double型。定义float型必须进行强制类型转换。
所占字节数小的数字型变量赋值给所占字节数比它大的类型时不用强制类型转换,此时是自动转型。
int型变量赋值给char型变量时,JVM会以int型变量值到ASCII码表中查找出所对应的字符,再赋值给char型变量。反之也是。但是遵循第4条规则。
初始化简单数据类型时要注意赋值的范围,超出则会产生编译错误。
基本数据类型默认初值
类型 初始值
boolean false
byte 0
char 0
short 0
int 0
float 0.0
double 0.0
long 0
基本数据类型默认初值表
引用数据类型
JAVA中,非简单数据类型的类型都是引用数据类型。
java数据类型图: ┏数值型━┳━整数型:byte short int long ┏基本数据类型━━┫ ┗━浮点型:float double ┃ ┣字符型:char 数据类型╋ ┗布尔型:boolean ┃ ┏类(class) ┗引用数据类型━━╋接口(interface) ┗数组(array) java的数据类型分基本数据类型(原始数据类型)和引用数据类型; 1.基本八大类,图中可以很清楚的看到;这种类型的数据变量在声明之后java就会立刻分配给他内存空间。如:short a; java会在可使用的内存空间寻找一个占两个字节的块给a变量; 2.引用数据类型就那三种,类似C/C++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址,想具体知道看看数据结构就好了。 通俗讲,一、上图记住很够用;二、说内存、谈地址基本都是说引用而非基本;三、你可以把内存地址理解是你学号,而对象实体就是你,每次找你通过学号找,这就是引用; 这个知识点的应用: 1.“==”作用在引用数据类型间,判断内存地址是否相等,想判断内容实体用equals; 2、基本传值传参传的是副本,修改后原值不变;引用传值传参穿的是地址,修改后原值改变。
基本数据类型
Java里面包含8个基本数据类型,分别是:boolean、byte、char、short、int、float、douboe、long
byte 字节
byte是JAVA中最小的数据类型,它在内存中占8位(8个bit),取值范围从-128到127
赋值:byte I = 127
short 短整型
short类型在内存中占2个字节,取值范围从 -32768到32767
赋值:short i = 32767;
char 字符型
char类型在内存中占2个字节。表示一个字符,也可以使用ASCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从 0 到 65535
赋值:char i = ‘a’; 或者 char i = 97;
int 整型
int型在内存中占4个字节。取值范围从 -2147483648 到 2147483647
赋值:int i = 10;
float 单精度 浮点型
float型在内存中占4个字节。取值范围从 -3.4E38 到 3.4E38
赋值:float i = 1.0f;
long 长整型
long型在内存中占8个字节。取值范围从 -9223372036854775808 到 9223372036854775807
double 双精度浮点型
double 型在内存中占8个字节。取值范围从 -1.7E308 到 1.7E308
boolean 布尔型
boolean类型只有两个值:true和false。
基本数据类型的相互转换
转型规则
JAVA中所有的数字变量都是有符号(正负)的。
JAVA不允许类型的随意转换。只有数字变量可以进行转换,但是不能随意。
带有小数点的数字变量默认都为double型。定义float型必须进行强制类型转换。
所占字节数小的数字型变量赋值给所占字节数比它大的类型时不用强制类型转换,此时是自动转型。
int型变量赋值给char型变量时,JVM会以int型变量值到ASCII码表中查找出所对应的字符,再赋值给char型变量。反之也是。但是遵循第4条规则。
初始化简单数据类型时要注意赋值的范围,超出则会产生编译错误。
基本数据类型默认初值
类型 初始值
boolean false
byte 0
char 0
short 0
int 0
float 0.0
double 0.0
long 0
基本数据类型默认初值表
引用数据类型
JAVA中,非简单数据类型的类型都是引用数据类型。