java中整型、浮点型、char型扩展

怎么区分是什么进制?

二进制:0b开头,eg: int i = 0b10;

八进制:0开头,eg: int k = 010;

十进制:

十六进制:0x开头,eg: int j = 0x10;

 

浮点数类型在比较时的问题

尽量避免浮点数之间直接进行 == 比较

尽量避免浮点数之间直接进行 == 比较

尽量避免浮点数之间直接进行 == 比较

如果必须要比较浮点数,又不能有误差,如银行业务,可以用BigDecimal类型进行比较。

float f = 123456F; 这样的到f是1.23456

double d = 1.23456, 但是f是不等于d的。

 

char类型拓展

所有的字符本质还是数字char采用的是Unicode编码,占2个字节。

定义:char c = 'a';  char c2 = '\u0061'; 都是可以的,第一种更符合人性化

从\u0000 到\uFFFF

类型转换

从低到高  byte,short,char -> int -> long -> float -> double

在进行运算的时候,需要先将运算数的类型转为高级的,否则会导致运算结果已经出错,然后再转化成高级类型,结果肯定也是错的。

posted @ 2020-09-03 09:44  tianyee  阅读(189)  评论(0编辑  收藏  举报