欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据类型拓展及面试

程序员文章站 2022-05-06 17:24:15
...

数据类型拓展及面试

整数拓展

进制:二进制(0b)、八进制(0)、十进制、十六进制(0x)

int a = 0b10;
int b = 010;
int c = 10;
int d = 0x10;
System.out.println("二进制"+a);
System.out.println("八进制"+b);
System.out.println("十进制"+c);
System.out.println("十六进制"+d);
结果:二进制2
    八进制8
    十进制10
    十六进制16

浮点数拓展

比较金额时不要用float或double,选用BigDecimal(数学工具类);

浮点数是有限的、离散的,存在舍入误差问题,结果是大约数

float a = 0.1f;
double b = 0.1;
System.out.println(a==b);
float x = 111111111111111111111111f;
float y = x+1;
System.out.println(x==y);
结果:false
	true

字符拓展

字符也可以转换成数字,本质都是二进制,在Unicode编码表中字符和数字有对应关系

char a = 'a';
char b = '中';
System.out.println("a:"+(int)a);
System.out.println("b:"+(int)b);
结果:a:97
	b:20013
char c = '\u0051';
System.out.println("c:"+c);
结果:c:Q

转义字符

\t 制表符

\n 换行

System.out.println("Hello\tWord);
结果:Hello	Word
System.out.println("Hello\nWord);
结果:Hello
	Word