java初步学习 进制问题及其他拓展(基于黑马的课进行自学,初学者,不喜勿喷)2

初步学习

扩展内容

整数拓展

整数拓展:十进制(生活中所用) 二进制(0b,由0和1组成) 八进制(0,由1-8组成)
十六进制(0x,由1-9和a,b,c,d,e,f组成)
编写
image
运行结果
image

进制的转换及规律

系数:每一位上的数
基数:当前进制数
权:从右往左,依次为0,1,2,3...
运算规律:系数*基数^权

二进制转十进制
例:101
image

八进制转十进制
例:101
image

十六进制转十进制
例:abc
image

除积取余:用十进制数不停除以基数,知道商为0,再将余数反相拼接
十进制转二进制
例:5
5/2后商为2,余1
用商2/2后商为1,余0
用商1/2后商为0,余1
反相拼接结果为“101”

浮点数拓展

//float与double
这里用这两个浮点数都表示0.1进行比较(方式不同)
方法及运行结果如下
image
image
可以看到虽然两个输出结果一样,但IDEA判定两个结果不相等
再来用“float”表示较大的数字
image
image
按程序来说“d”应该是“c+1”,所以结果应该显示为“flase”表示两者不相等,但结果显示两者相等
原因:浮点数所表示的数字大小有限,且存在舍入误差,结果不准确,有时候为大约数
所以
最好完全避免使用浮点数进行比较!
最好完全避免使用浮点数进行比较!
最好完全避免使用浮点数进行比较!
重要的事情说三遍

地址值扩展

编写代码与运行结果如下
image
image
原因是“new”新建了一个空间,使两个“hello world”有各自的地址值,使其不相等

转义字符

在代码中使用转义字符运行并观察结果
image

image

布尔值扩展

该类代码老手与新手区别
image
老手的方式会让代码可读性降低,还是以后再用这种吧(拐着弯说自己菜)

posted @ 2022-07-29 14:29  COUNTRY  阅读(34)  评论(0)    收藏  举报