数据类型扩展及面试题讲解

数据类型扩展及面试题讲解

整数扩展

进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;        // 十进制
int i2 = 010;   // 八进制     8  
int i3 = 0x10;   // 十六进制   16 0~9 A~F

浮点数扩展

float i = 0.1f;
double i2 = 1.0/10;
     System.out.println(i==i2); 结果i不等于i2
float 接近但不等于   舍入误差 有限 离散 大约

少去用浮点数进行比较 如果需要进行计算不能有误差就用BigDecimal

最好完全使用浮点数进行比较

字符扩展

char b = 'a';
char b1 = '王';
     System.out.println((int)b);    
     System.out.println((int)b1);

所有字符本质上还是数字

编码 Unicode

  char b = 'a';
     char b1 = '中';
     System.out.println((int)b);       //输出的是97是十进制
    char c ='\u0061';                  //61是十进制转二进制出来的结果  
     System.out.println(c);

转义字符

转义字符意义ASCII码值(十进制)
     
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
\0 空字符(NULL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\uhhhh 1到2位十六进制所代表的任意字符 二位十六进制

布尔值扩展

String i ="对";
boolean flag =ture;
if(flag==ture){ //新手
      System.out.println(i);
}
if(flag){ //老手
      System.out.println(i);
}

 

posted @ 2021-12-21 08:21  exxxxxxxxx  阅读(27)  评论(0)    收藏  举报