数据类型就是数据的类型,比如说数字3属于整型,字母c属于字符型,除此以外还有别的数据类型。
指明数据类型的意义
也许有人会疑惑,数据只要直接使用就行了,为什么还要指明数据的类型?这是因为内存的存储空间是有限的,为了不浪费存储空间,不同的数据类型在内存中的存储方式和所占空间大小都是不同的。因此在定义变量时需要指明其数据类型。
数据类型的分类
Java的数据类型分为两大类:
-基本数据类型:byte、short、int、long、double、float、boolean、char
-引用数据类型:类、接口、数组、枚举、注解
本文将着重介绍基本数据类型
整型
- 整型包括四种:byte、short、int、long。这四个标识符都属于java关键字。
- 给出整型数据在内存中分配的字节大小:
数据类型 | 字节数 | 位数 | 使用说明 |
byte | 1 | 8 | 取值范围:-128~127 |
short | 2 | 16 | 取值范围:-32768~32767 |
int | 4 | 32 | 取值范围:-2147483648~2147483647 |
long | 8 | 64 | 取值范围:-2^65~2^65-1,直接赋值时必须在 数字后面加上大写L或小写l |
可以看出不同数据类型所能表示的数值范围是不同的,可以根据实际情况决定用哪种数据类型,比如说人的年龄一般不会200岁,这是可以选择short类型。
- 整型数据类型有4种表示形式:十进制整数、二进制整数、八进制整数、十六进制整数。
比如在程序中对变量num的不同赋值方式:
int num=15;//赋值为十进制的15
num=0b011;//二进制以0b开头,011对应十进制的3
num=014;//八进制以0开头,14对应十进制的12
num=0xE;//十六进制以0x或0X开头,E对应十进制的14
浮点型
- 浮点型是用来定义含小数点的数的关键字,包括:float和double。
- 浮点型数据所占内存大小:
数据类型 | 字节数 | 位数 | 使用说明 |
float | 4 | 32 | 取值范围:1.4E-45~3.4E38,直接赋值时必须 在数字后面加上f或F |
double | 8 | 64 | 取值范围:4.9E-324~1.8E308 |
- 浮点型数据有两种表示方式:
十进制形式,如3.14。
科学记数法形式,如3.14e1。
注意:语句 float f=3.14; 是错误的。因为Java编译器认为3.14是double类型,而double不能直接赋值给float类型,否则会精度缺失。如果想要将3.14直接赋值给f,要在数字后面添加f或F。所以正确的语句是 float f=3.14f;
布尔型(boolean)
- 布尔型又称逻辑类型,因为布尔型的数据只有true和false两个取值,默认初始值为false。而C语言里没有定义布尔类型,但C语言规定数据非0即为真,0即为假。
注意:在二进制逻辑中Java规定1为真0为假。
字符型(char)
- 字符型采用Unicode编码,一个Unicode编码占2个字节(即16位),由于字符型不存在正负之分,所以其表示范围为0~2^16-1,即(0~65535)。
- 字符型变量可以有以下几种赋值方式:
1、使用英文单引号(')括起单个字符;例如:
char c1 = 'a';
char c2 = '中';//char可以存储一个中文(一个中文也占2个字节)
2、使用英文单引号括起来十六进制字符代码值来表示单个字符,格式为'\uXXXX',其中u是约定的前缀,为Unicode的第一个字母,例如:
char c1 ='\u0061';// 实质代表a字母
3、可以直接使用数字表示单个字符,例如:
char c2 = 97;//表示a字母
4、某些特殊的字符可以采用转义符'\'来表示,以将其后面的字符转变为其它含义,例如:
char c1 = '\t';//制表符
char c2 = '\n';//换行符-New Line
char c3 = '\r';//回车符-Carriage Return
以上就是Java基本数据类型的介绍。