基本数据类型
定义:Java有8中数据类型来储存数值、字符和布尔值。
分类
这8种基本数据类型习惯上分为四种类型。
整型:byte, short, int, long
浮点型:float, double
字符型:char
布尔型:boolean
1. 整数型
数据类型 | 字节 | 长度 | 取值范围 |
---|---|---|---|
byte(位) | 1字节 | 8位 | -128~127 |
short(短整数) | 2字节 | 16位 | -32768~32767 |
int(整数) | 4字节 | 32位 | -2147483648~2147483647 |
long(长整数) | 8字节 | 64位 | -9223372036854775808~9223372036854775807 |
注:
- int是java整型值的默认数据类型,当代码使用整数赋值或输出时,都默认为int型。
- 由于long型的取值范围比int大,且属于高级数据类型,所以需要在整数后面加L或l。
2.浮点型
数据类型 | 字节 | 长度 | 取值范围 |
---|---|---|---|
float(单精度) | 4字节 | 32位 | 1.4E-45~3.402823E38 |
double(双精度) | 8字节 | 64位 | 4.9E-324~1.7976931348623157E308 |
注:
- double是浮点型的默认数据类型,当代码使用小数赋值或输出时,都默认为double型。
- 声明float型变量时,需要加F或f。
3.字符型
数据类型 | 字节 | 长度 | 取值范围 |
---|---|---|---|
char(字符) | 2字节 | 16位 | 0~65535 |
注:
- 在声明字符型变量时,要以单引号表示,如’h’表示一个字符。
- java可以把字符当作整数对待。由于Unicode编码采用无符号编码,可以储存65536个字符。
- char的默认值是空格,char可以与整数做运算。
- 字母前面加上斜线""来表示常见的那些不能显示的ASCII字符.称为转义字符.如\0,\t,\n等。一下为常用专用字符:
转义字符 | 意义 |
---|---|
\n | 换行符 |
\t | 制表符 |
\r | 回车符 |
\" | 双引号 |
\’ | 单引号 |
\\ | 反斜杠 |
\b | 退格符 |
4.布尔型
数据类型 | 字节 | 长度 | 取值范围 |
---|---|---|---|
boolean(布尔值) | 1字节(只占用一位bit的内存空间,但Java最小分配单元是1字节) | 8位 | true或false |
注:
- 布尔型只有true和false俩个值,分别表示真和假,通常作为判断条件。
- 布尔型不能与整数型转换。
数据类型转换
定义:类型转换是将一个值从一种数据类型更改为另一种数据类型的过程。例如,可以将String类型数据转换为一个数值型,而且可以将任意类型的数据转换为String类型。
方式:数据类型转换有两种方式,即隐式转换与显式转换。如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,甚至有可能失败。
隐式转化:从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作,这种类型的转换称为隐式转换,也可以称为自动转换。
下列基本数据类型会涉及数据转换(不包括逻辑类型),这些类型按精度从“低”到“高”排列的顺序为byte < short < int < long < float < double。
其中char类型比较特殊,它可以与部分int型数字兼容,且不会发生精度变化。
注:
-
不能对boolean类型进行类型转换。
-
不能把对象类型转换成不相关类的对象。
-
转换过程中可能导致溢出或损失精度。
-
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。
显示转化:即强制显示的把一个数据类型转换为另外一种数据类型。当把高精度变量的值赋给低精度变量时,必须使用显式类型转换,也可称为强制类型转换,但显式类型转换时可能会导致精度缺失。
注:
-
条件是转换的数据类型必须是兼容的。
-
格式:(type)value 其中type是要强制类型转换后的数据类型