1.整数类型: byte | short | int | long
类型名 | 占用空间 | 取值范围 |
---|---|---|
byte | 8位(1个字节) | -27-27-1 |
short | 16位(2个字节) | -215-215-1 |
int | 32位(4个字节) | -231-231-1 |
long | 64位(8个字节) | -263-263-1 |
注意:为long类型赋值,需添加L或l后缀。
1.1 Integer构造函数:
直接赋予整数的值:参数s要可以转化成整数,否则报数字格式异常:public Integer(int value) { this.value = value; }
public Integer(String s) throws NumberFormatException { this.value = parseInt(s, 10); }
2.浮点数类型:double | float
类型名 | 占用空间 | 取值范围 |
---|---|---|
float | 32位 | -1.4E-45~ 3.40E+38,-3.4E+38 ~ -1.4E-45 |
double | 64位 | 4.9E-324~1.7E+308,-1.7E+308~-4.9E-324 |
其中,1.4E-45表示1.4*10-45。
2.1 Double的构造函数:
直接赋值: public Double(double value) {
this.value = value;
}
参数s要可以转化成double,否则报数字格式异常:
public Double(String s) throws NumberFormatException {
value = parseDouble(s);
}
注意:在使用浮点数常量时,若在结尾处不加任何的后缀,此时虚拟机默认为double双精度浮点数。因此在赋值时,要根据需求加上后缀:如float类型需要加上F或f后缀。
3.字符类型:char
char类型赋值范围为0~65535的整数。
4.类型转换
4.1 自动类型转换
- 两种类型兼容
- 目标类型取值范围大于源类型
4.2 强制类型转换
- 两种类型不兼容
- 目标类型取值范围小于源类型
eg: int to byte, 大转小,可能损失精度。