java狂神基础:关于数据等拓展

Posted on 2022-03-17 00:03  P-oTaTo  阅读(54)  评论(0)    收藏  举报

                                                                                拓展

1.进制

二进制0b    八进制0   十六进制0x  示例如下:

 

  

在输出位的前面添加代表进制的符号即可使程序按照特定进制运行。

 

 

=============================分割线=====================================

 

2.浮点数拓展 

先举例:

第一个例子

第二个例子

可以看到例1的f和d原本是相等的,但当。。。

例2中的d2是d1+1,按常理来说是不会相等的。

1,2两个例子说明浮点数的代码是有限的,有些数字除出来是无限的,所以代码会舍入误差(即通俗讲的四舍五入)

所以可以得出一个结论:最好完全避免使用浮点数进行比较!!!

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

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

 

 

=============================分割线=====================================

 

3.字符拓展

先看例子:

可以看到在输出行的c1和c2都成功输出了,但int c1和int c2却输出了一串数字, 这是因为在java内部有编码unicode,可以把它想象为一张表,所有的汉字都会通过int这个代码强制转换为unicode表中对应的数字,所以说所有字符的本质还是数字。同样的,使用特定的数字也可以输出特定的字符。

 

=============================分割线=====================================

 

 

4.转义字符  \t,\n等...

同样的,先看例子:

 

可以看到,在输出行中通过添加 \t,\n等不同的代码可以输出中呈现不同的表达效果。

在网上可以查到其他转义字符的用处:

 

 

=============================分割线=====================================

 

 

5.布尔值拓展

可以看到上面两行有if代码,但这两行代码表达的意思是完全相同的,第一行flag==ture是更偏向新手向的,只是为了确定flag==ture而已,实际上if这个代码就包含了flag==ture的意思。

此处想要说明的是"less is more!"  意为:代码要精简易读。