java核心技术(数据类型)
- bit:计算机最小单位 byte:一个字节。
- 1byte=8bit。八位的二进制代码
八个基本数据类型
数据类型 | 取值范围 | 最小值 | 最大值 | 默认值 | 封装类型 | 缓冲区 |
---|---|---|---|---|---|---|
byte | -2^7 ~2^7-1 | -128 | 127 | 0 | Byte | -128~127 |
short | -2^15 ~2^15-1 | -32768 | 32767 | 0 | Short | -128~127 |
int | -2^31 ~2^31-1 | -2147483648 | 2147483647 | 0 | Interger | -128~127 |
long | -2^63 ~2^63-1 | -2^63 | 2^63-1 | 0l | Long | -128~127 |
float | 3.4e-45~1.4e38 | -3.4e-45 | 1.4e38 | 0f | Float | 无 |
double | 4.9e-324~1.8e308 | -4.9e-324 | 1.8e308 | 0 | Interger | 无 |
boolean | boolean | - | - | false | Boolean | 无 |
char | 0~65535 | 0 | 65535 | Unicode码 | Character | char(0)~char(127) |
注意事项
1、如果小数类型,并且小数比较小,比如四位小数,建议使用 BigDecimal 如果 是 double 类型会有失精度,有的时候会用科学记数法表示;
比如 0.0001 会变成 1.0E-4,试问谁能看懂,如果偏要用 double 还要对类型进行转换。
2、int double 都是有包装类型的,建议使用包装类型,包装类型能区分 null 和 0,就像在spring-mvc接收时使用 int 类型接收值,如果这个属性不传值,ajax 请求会报 400 错误,而且不能区分这个值是否是空;
3、最后对所有包装类型进行操作(比如 toString())要进行空指针判断,我们并不能保证这个值是有的。
转载博客:本文参考博客.
------------------------------------ 个人总结-----------------------------------------------
1、推荐所有包装对象的比较全部使用equals();原因:因为用==只能比较他们缓冲区的大小
2、所有的POJO类属性必须使用包装类型
3、RPC方法的返回值和参数必须使用包装类型的数据
4、所有的局部变量使用基本数据类型