Java是一种强类型语言,必须为每一个变量声明一种类型。Java一共有4类、8种基本数据类型。
第一类:整形用于表示没有小数部分的数值,该数值可以为负。整形一共有4种:
类型 | 所占字节 | 取值范围 | 默认值 |
---|---|---|---|
byte | 1字节 | -128~127 | 0 |
short | 2字节 | -32768~32767 | 0 |
int(最常用) | 4字节 | -2^31~2^31-1 (21亿多一点) | 0 |
long(次常用) | 8字节 | -2^63~2^63-1 | 0L |
由于Java程序要保证在所有机器上运行结果一致,所以每种数据类型的取值范围一定。
通常情况下一般使用int类型,当数值过大超过int取值范围时使用long类型,long类型数值后需要加后缀L。
short、byte用于特点场合,例如底层文件处理或需要控制占用储存空间的大数组。
第二类:浮点型用于表示有小数部分的数值,该数值可以为负。浮点型一共有2种:
类型 | 所占字节 | 取值范围 | 默认值 |
---|---|---|---|
float | 4字节 | 约±3.403E38 | 0.0F |
double | 8字节 | 约±1.798E308 | 0.0 |
double类型的精度是float类型的两倍,绝大部分的程序都采用double类型。
float类型只在特殊情况下使用,例如需要快速处理单精度数据或储存大量数据并需要节约空间。
float类型数值需要加后缀F,没有加后缀的浮点型数值默认为double类型。
第三类:字符型用于表示单个字符,通常表示字符常量。例如’A’为Unicode编码65所对应的字符常量,
而”A”表示一个值为A的字符串。字符型也就是char类型:
类型 | 所占字节 | 取值范围 | 默认值 |
---|---|---|---|
char | 2字节 | ‘\u0000’~’\uffff’ | ‘\u0000’ |
不推荐在程序中使用char类型,除非需要对UTF-16代码单元进行操作。
char类型中,除转义序列符\u表示Unicode代码单元外,还有一些特殊的转义序列符:
转义序列 | 名称 | Unicode值 |
---|---|---|
\b | 退格 | ‘\u0008’ |
\t | 制表 | ‘\u0009’ |
\n | 换行 | ‘\u000a’ |
\r | 回车 | ‘\u000d’ |
\” | 双引号 | ‘\u0022’ |
\’ | 单引号 | ‘\u0027’ |
\ | 反斜杠 | ‘\u005c’ |
第四类:布尔型用来判断逻辑条件:
类型 | 取值范围 | 默认值 |
---|---|---|
boolean | true或false | false |
在Java中boolean类型只能取true或false,不可以以0或非0数代替。