(JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题
生活随笔
收集整理的這篇文章主要介紹了
(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來進行浮點類型的定義,但其中也有一些問題要注意。
我們來看下面這部分代碼:
輸出結果:
在這里我們可以看到,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’。
總結
以上是生活随笔為你收集整理的(JAVA学习笔记) 关于数据类型的一些扩展-面试时经常问到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 力扣(LeetCode)打卡刷题交流计划
- 下一篇: (JAVA学习笔记) 关于i++和++i