变量与数据类型
1. 变量
字面量可以做多种不同的算术和逻辑运算,运算结果可以使用变量临时存储起来,变量在使用前需要定义其存储的数据类型。例如:
声明变量为int(整数)类型:
int a;
将2 + 3 的运算结果存入变量:
a = 2 + 3;
因为2和3都是整数,因此可以存入整数类型的变量中,其中=叫做赋值运算符,表示将计算结果存入变量。
注意:java中可扩展的类型有无穷多个,但基本类型只有八种。
2. 八种基本类型
类型 | 长度 | 范围 | 举例 | 用途 |
---|---|---|---|---|
byte | 1字节 | -2^7 ~ 2^7-1 | byte a = 10; | 用来保存整数字面量 |
short | 2字节 | -2^15 ~ 2^15-1 | short a = 10; | 用来保存整数字面量 |
int | 4字节 | -2^31 ~ 2^31-1 | int a = 10; | 用来保存整数字面量 |
long | 8字节 | -2^63 ~ 2^63-1 | long a = 10L; | 用来保存长整数字面量 |
char | 2字节 | char a = 'a'; | 用来保存字符字面量 | |
float | 4字节 | float a = 1.0F; | 用来保存单精度浮点数字面量 | |
double | 8字节 | double a = 1.0D; | 用来保存双精度浮点数字面量 | |
boolean | - | boolean a = true; | 用来保存布尔字面量 |
注意1:字符串字面量使用String类型的变量来保存,而String并非基本类型而是引用类型,例如:
类型 | 引用长度 | 范围 | 举例 | 用途 |
---|---|---|---|---|
String | 4~8字节 | String a = "hello"; | 用来引用字符串对象 |
注意2:某一类型的变量不一定只能保存该单一类型的字面量,还可能有类型提升的问题,参考 类型提升
注意3:所有整数,浮点数类型,需要注意其存储范围,避免运算结果溢出。尤其float和double还要注意小数精度,float和double计算时会产生精度问题,两个float或double的数要避免用==或!=进行比较(可以用
>, >=, <, <=
来比较)如果想更深入地了解各种数据类型,请参考: