【学习日记(Java语法拓展)】Day.6
Java语法拓展
整数拓展
进制
-
二进制 “0b”
-
十进制
-
八进制 “0”
-
十六进制 “0x”
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F 16
浮点拓展
浮点的点数具有有限、离散、舍入误差、大约、接近但不等于的特性
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
(需要精确计算时使用 BigDecimal 数学工具类)
例:
float f =0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false 不相等
float d1 = 1321321321321f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //true 相等
字符拓展
强制换行(强制转换)
使用"(int)"进行强制换行
例
char c1 ='露'; //*必须是单引号
char c2 ='熊';
System.out.println(c1);
System.out.println((int)c1); //强制换行(强制转换)
System.out.println(c2);
System.out.println((int)c2);
/*输出
露
38706
熊
29066
*/
Unicode 编码
所有字符的本质还是数字
如值为""\u0061"则输出的值为 "a"
//编码 Unicode 表:97 = a 65 = A 2字节 0 - 65536个字符 Excel 2^16 = 65536
// U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
转义字符
-
\t 水平制表(HT) (跳到下一个TAB位置)
-
\n 换行(LF) ,将当前位置移到下一行开头
-
\r 回车(CR) ,将当前位置移到本行开头
-
\b 退格(BS) ,将当前位置移到前一列
-
\f 换页(FF),将当前位置移到下页开头
-
\v 垂直制表(VT)
-
\0 空字符(NULL)
-
\ddd 1到3位八进制数所代表的任意字符
-
\uhhhh 1到2位十六进制所代表的任意字符
布尔值扩展
boolean flag = true;
if(flag==true){ } //新手
if(flag){ } //老手 两个代码代表的意思是一样的 默认为true
//Less is More! 代码要精简易读

浙公网安备 33010602011771号