【学习日记(Java语法拓展)】Day.6

Java语法拓展

整数拓展

进制

  1. 二进制 “0b”

  2. 十进制

  3. 八进制 “0”

  4. 十六进制 “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! 代码要精简易读



posted @ 2021-02-09 22:40  萝北北  阅读(39)  评论(0)    收藏  举报