Java的数据类型可以分成两大类:
- 基本数据类型
- 整型 byte,short,int,long
- 浮点型 float,double
- 字符类型 char
- 布尔类型 boolean
- 引用数据类型
- 数组
- 类
- 接口
不同的数据类型占用的内存空间是不同的;
不同的内存空间,所存储的数据的大小范围是不一样的;
Java中的默认类型:整数类型是int,浮点类型double;
字面量:是指在源代码中直接表示的固定值,字面量用于在程序中表示基本数据类型的具体数值或字符序列。Java支持多种类型的字面量,包括整数字面量、浮点数字面量、字符字面量、字符串字面量、布尔字面量以及null字面量。
这节主要是Java基本的数据类型,后续还会补充引用数据类型的相关知识。
1、整数型
byte 、short、 int、 long
1)byte、short类型(字节型、短整型)
byte取值范围:-128~127 1Byte=8bits
short取值范围:-32768~32767 2Byte=16bits
byte和short都没有专门的字面量表示方法,所以Java中特殊规定,允许使用一个int类型字面量为byte或short变量赋值。但是,编译器会对等号右边的常量值进行检查,如果超出等号左边的类型实际可表示的数值范围,就会编译报错,也就是说,在给byte和short类型变量赋值时,能成功的条件有两个:
- 等号右边一定是常量
- 常量的实际数量在byte或short可表示的范围内
2)int类型(整型)
int取值范围:-2^31~2^31-1 4Byte=32bits
int类型的三种赋值方式
- 使用int字面量赋值
- 使用int变量赋值
- 使用能够被int兼容的变量或字面量类型赋值
3)long类型(长整型)
long取值范围:-2^63~2^63-1 8Byte=64bits
long类型字面值常量,后面需要加L或l
long类型的三种赋值方式:
- 使用long字面量赋值
- 使用long变量为long变量赋值
- 使用能够被long兼容的变量或字面量类型赋值
注意:使用long类型的数据时,后面要加大写的L或者小写l,建议加上大写的L。
2、浮点型
1)float类型(单精度浮点数)
float类型的取值范围:1.4E-45~3.4E+38 4Byte=32bits
说明:E+38表示是乘以10的38次方,同样,E-45表示乘以10的负45次方。
float类型的三种赋值方式:
- 使用float类型字面量
- 使用一个float类型变量赋值
- 使用float能够兼容的字面量或变量类型赋值
注意:float字面值常量,后面需要加F或f
2)double类型(双精度浮点数)
double类型取值范围:4.9E-324~1.7977E+308 8Byte=64bits
double类型的赋值方式:除了boolean其他都能兼容
注意:double字面值常量,后面需要加D或d
3、布尔型
1)boolean类型(布尔类型)
boolean类型取值范围:只能是true,false 1Byte=8bits
4、字符型
1)char类型(字符型)
char类型取值范围:0~65535 或 0~2^16-1 2Byte=16bits
char最基础的字面量表示方法:单引号包围一个单个字符
char,本质上是一个16位(2字节)构成的Unicode编码码值,其类型值用一般''括起来的单个字符,可以是一个阿拉伯数字,一个中文汉字字符,一个英文字母,一个标点符号。
Unicode:万国码。无论字符数据在传输和存储时采⽤的是什么编码,只要进⼊到Java内存中,所有字符都是以Unicode形 式存在。
char本质实际就是一个数值,代表某个Unicode编码表中的数值,而且是Java中唯一的一个无符号数类型。
char类型字面量的表示方法:
注意:String为字符串类型,它不是基本数据类型,是类类型。
引用数据类型等待更新中......