public class Demo06 { public static void main(String[] args) { //整数拓展 :(进制) 二进制(0b)、十进制、八进制0、十六进制(0x) int num1 = 100; int num2 = 0b100; //表示2的2次方 int num3 = 0100; //表示8的2次方 int num4 = 0x100; //表示16的2次方 System.out.println(num1); System.out.println(num2); System.out.println(num3); System.out.println(num4); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7R0hrlLe-1642410745926)(F:Desktop截图保存文件Snipaste_2022-01-17_16-04-27.png)]
经过运算,可以简单对各种进制有简单的了解。
浮点数的拓展
public class Demo07 { public static void main(String[] args) { //浮点数的拓展 float num1 = 0.1f; //等于0.1 double num2 = 1.0/10; //等于0.1 System.out.println(num1 == num2); // "==“ 表示比较两者是否相等 System.out.println(num1); System.out.println(num2); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZB2DhjHj-1642410745928)(F:Desktop截图保存文件Snipaste_2022-01-17_16-26-31.png)]
不难发现,浮点数float以及double在都等于0.1的时候,通过Java进行比较,却发现他们是不相等的。
所以,我们尽量不用纯浮点数进行比较。
以及,在二进制中,浮点数的精度是有限的,也是离散的。当数值达到一定时,浮点数会产生”舍入误差“,相当于对数值进行了四舍五入。让我们在java中运算进行表示。
public class Demo07 { public static void main(String[] args) { //浮点数的拓展 float num1 = 2312333213f; float num2 = num1+2; System.out.println(num1==num2); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RqkVDw1J-1642410745928)(F:Desktop截图保存文件Snipaste_2022-01-17_16-40-35.png)]
两者居然在Java运算中,是相等的。
当在银行业务中,我们不用浮点数,我们使用数学工具类:”BigDecimal“。
字符的拓展
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eEFLwmmA-1642410745929)(F:Desktop截图保存文件Snipaste_2022-01-17_16-52-24.png)]
public class Demo07 { public static void main(String[] args) { //字符的拓展 char c1= 'A'; char c2= '好'; System.out.println(c1); System.out.println(c2); System.out.println((int)c1); System.out.println((int)c2); //(int),表示对c1以及c2,char强制转换为int。 } }
不难发现,所有的字符,本质上是数字。
在Unicode编码表上,,每个数值对应一个字符,一个Unicode编码占2个字节。
转义字符
常用的转义字符有:
制表符:t
换行:n
回车:r
等
例如:
System.out.println(HellonWorld);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)