数据类型拓展及面试题

数据类型拓展及面试题

1.整数拓展:二进制 八进制 十进制 十六进制

int a = 0b10;  //二进制前面有0b a=2
int b = 010;   //八进制前面有0 b=8
int c = 10;    //十进制正常写 c=10
int d = 0x10;  //十六进制前面有0x d=16

2.浮点数拓展:银行业务怎么表示?

float 有限 离散 舍入误差 大约 接近但不等于

最好完全避免使用浮点数进行比较 可以使用BigDecimal

float f = 0.1f;
double d1 = 0.1;

System.out.println(f == d); //false

float f1 = 2333333332233333f;
float f2 = f1 + 1;
System.out.println(f1 == f2); //true

3.字符拓展:字符本质上是数字

char c1 = 'a';
char c2 = '获';
System.out.println(c1);
System.out.println((int) c1); //97
System.out.println(c2);
System.out.println((int) c2); //33719

// unicode U0000~UFFFF
char c3 = '\u0061';
System.out.println(c3); //a

String s1 = new String("Hello world!");
String s2 = new String("Hello world!");
System.out.println(s1 == s2); //false
String s3 = "Hello world!";
String s4 = "Hello world!";
System.out.println(s3 == s4); //true
posted @ 2021-09-30 09:24  Oh,mydream!  阅读(36)  评论(0编辑  收藏  举报