java语法-数位进制
数位进制
整数拓展
二进制、十进制、八进制、十六进制表达“10”怎么处理?
二进制加0b
十进制
八进制加0
十六进制加0x
举例:
int i = 10;
int i1 = 010; //八进制 0
int i2 = 0x10; // 十六进制0x 0~9 A~F
int i3 = 0b10;
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
浮点数拓展
银行业务怎么表述?
浮点数是有限的、离散的,所以是个大约数,只是接近但不等于。
所以最好不要用浮点数进行比较:
所以最好不要用浮点数进行比较:
所以最好不要用浮点数进行比较:
举例:
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d); //false
System.out.println(f);
System.out.println(d);
float d1 = 232333334444443f;
float d2= d1 + 1;
System.out.println(d2);
System.out.println(d1==d2);
输出结果看,f=d=0.1 f应该等于d
d2=d1+1 d2不等于d1;
但是程序判断,f不等于d;d2等于d1,就是由这个造成的。
那对于精确数据的比较需要使用数学工具类:BigDecimal
字符拓展
所有的字符本质上还是数字,将字符强制转换成整型数字。
举例:
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(c2);
System.out.println((int)c1); //强制转换行
System.out.println((int)c2); //强制转换行
//编码: Unicode表 2字节 0 ~ 65536 Excel 2的16次方;
// Unicode表的范围:U0000 ~ UFFFF
字符和数字转换中有张Unicode表来作为“翻译表”
可以用以下指令来查看对应的输出:
char c3 = '\u0061';//转义字符
System.out.println(c3); //a
数位进制
整数拓展
二进制、十进制、八进制、十六进制表达“10”怎么处理?
二进制加0b
十进制
八进制加0
十六进制加0x
举例:
int i = 10;
int i1 = 010; //八进制 0
int i2 = 0x10; // 十六进制0x 0~9 A~F
int i3 = 0b10;
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
浮点数拓展
银行业务怎么表述?
浮点数是有限的、离散的,所以是个大约数,只是接近但不等于。
所以最好不要用浮点数进行比较:
所以最好不要用浮点数进行比较:
所以最好不要用浮点数进行比较:
举例:
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d); //false
System.out.println(f);
System.out.println(d);
float d1 = 232333334444443f;
float d2= d1 + 1;
System.out.println(d2);
System.out.println(d1==d2);
输出结果看,f=d=0.1 f应该等于d
d2=d1+1 d2不等于d1;
但是程序判断,f不等于d;d2等于d1,就是由这个造成的。
那对于精确数据的比较需要使用数学工具类:BigDecimal
字符拓展
所有的字符本质上还是数字,将字符强制转换成整型数字。
举例:
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(c2);
System.out.println((int)c1); //强制转换行
System.out.println((int)c2); //强制转换行
//编码: Unicode表 2字节 0 ~ 65536 Excel 2的16次方;
// Unicode表的范围:U0000 ~ UFFFF
字符和数字转换中有张Unicode表来作为“翻译表”
可以用以下指令来查看对应的输出:
char c3 = '\u0061';//转义字符
System.out.println(c3); //a
常用的转义字符还有:
//转移字符
// \t 制表符
// \n 换行
// \r 回车
// \b 退格
System.out.println("Hello\tWorld");
布尔值扩展
boolean flag = true;
if (flag==true) {}和 if (flag) {}是一样的。
常用的转义字符还有:
//转移字符
// \t 制表符
// \n 换行
// \r 回车
// \b 退格
System.out.println("Hello\tWorld");
布尔值扩展
boolean flag = true;
if (flag==true) {}和 if (flag) {}是一样的。
浙公网安备 33010602011771号