数据类型—整数拓展
进制
-
0b:二进制
-
0:八进制
-
0x:十六进制
//定义中我们在数字前方加入相应的字符 //比如: int a=0b10; int b=010; int c=0x10;
在这个代码中,a就是二进制的10,b就是八进制的10,c就是十六进制的10。
浮点数
float:是有限字符,离散,它会舍入误差,最后的结果是一个大约数。
所以在使用过程中最好完全避免使用浮点数进行比较
可以借用BigDecinal这个数学工具类使用
比如;
float a=0.1f;
double b=0.1;
systen.sout.println(a==b);
//我们可以看见a和b的值都是0.1,但是如果我们将二者进行比较时会发现输出的结果却是a不等于b
float c=121212121122f;
float d=c+1;
//但是如果我们比较c和d的话,输出结果却是相等的,这都是因为float所能表现的数字是有限的,所以它是一个大约数
字符
如果我们将字符强制转换,比如:
char a='A'
system.out.println((int)a);
我们定义了一个字母A,然后在后面输出时将a强制转换为int类型,我们输出后只会得到65这个数字。
所以字符的本质还是数字,在其中有一个Unicode表,在这个表中A所对应的是65。
Unicode表的表示方式:
//表中用\u0000-\uFFFF来表示
char a='\u0065';
char b='A';
//如果我们输出a和b,我们会发现都是A,\u0065就是A在编码表中的表示方式
转义字符
//比如我们输出字符的时候,怎么让字符中间有空格
system.out.println("hellow\tworld");
//上述的\t字符穿插在hellow和world之间,
//最后输出结果就是hellow world
system.out.println("hellow\nworld");
/*将\n穿插在中间,最后的结果就是:
hellow
world
*/