Java中的运算规则&字面值规则
字面值规则 | 运算规则 |
---|---|
整数默认为int类型 | 运算结果的数据类型与最大数据类型保持一致 |
小数默认为double类型 | 三种比int小的类型,运算时会自动提升成int再运算 |
byte、shor、char三种比int小的类型,可使用范围内的值直接赋值 | 整数运算溢出的问题,一但溢出,数据就错误 |
字面值后缀:long(L)、float(F)、double(D) | 浮点数运算不精确 |
字面值前缀:0b(2)、0(8)、0x(16) | 浮点数的特殊值Infinity NaN |
类型转换
- boolean类型不参与类型转换
- 小转大,直接转 —— 隐式转换
- 大转小,强制转 ——显式转,格式:byte b = (byte)a;
- 浮变整,小数没 – 浮点型转整形是直接舍弃所有的小数部分的,不会四舍五入
注:类型能否转换,取决于类型的取值范围,而不是字节数,字节数只能做大概的参考