欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

(JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题

发布时间:2025/3/20 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 (JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

JAVA数据类型的一些扩展

一.整数类型扩展

整数各种进制表示方法:

//整数扩展 十进制 二进制0b 八进制0 十六进制0xint i = 1;int i1 = 0b10;int i2 = 010;int i3 = 0x10;System.out.println(i);System.out.println(i1);System.out.println(i2);System.out.println(i3);

二.浮点类型扩展

我们通常用float或者double来进行浮点类型的定义,但其中也有一些问题要注意。
我们来看下面这部分代码:

float i1 = 0.1f;double i2 = 1.0/10;System.out.println(i1==i2);float i3 = 12345465564645f;float i4 = i3+1;System.out.println(i3==i4);

输出结果:
在这里我们可以看到,i1和i2明明同样是0.1的数据对比却是false;
i3,i4明明不等,输出却是true;这是为什么呢?
浮点类型大概可以概括为以下几个特征:有限,离散,舍入误差,大约,接近但不等于。
所以程序中应尽量避免浮点数的比较,并且一些要求精确度较高的数字不要用浮点类型表示。
因此在需要表示一些要求精度较高的业务的时候,例如银行业务的钱。
通常用BigDecima提供的方法进行一些比较和运算。

三.字符类型的扩展

先看下面一组代码:

char c1 = 'a';char c2 = '中';System.out.println(c1);System.out.println((int)c1);//将c1强制转换为int类型System.out.println(c2);System.out.println((int)c2);//将c2强制转换为int类型char c3 = '\u0061';System.out.println(c3);

输出结果:

可以看到字符’a’和字符’中’在被强制转换为int类型之后变成了对应的数字,由此可以看出字符从本质上来说就是数字
所有字符都能在Unicode编码表上找到对应的数字表示,范围为U0000 - UFFFF;所以c3的输出结果就是’a’。

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的(JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。