大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 四類Java8大基本數據類型詳解

四類Java8大基本數據類型詳解

更新時間:2020-07-09 15:29:13 來源:動力節點 瀏覽3836次

boolean類型

Boolean在內存中占用一個字節。

當java編譯器把java源代碼編譯為字節碼時,會用int或byte來表示boolean。在java虛擬機中,用整數零來表示false,用任意一個非零整數表示true。

java虛擬機這種底層處理方式對java虛擬機是透明的,在java源程序中boolean類型的變量取值只能是true或false

byte、short、int、和long整數類型

byte、short、int、long都是整數類型,并且是有符號整數分別占用1、2、4、8個字節。

取值范圍分別是-127—127、-2的15次方到2的15次方減一、-2的31次方到2的31次方減一、-2的63次方到2的63次方減一

byte在內存中占用一個字節取值范圍是-128—127。在定義一個變量時。比如月份的取值是1到12。因此把代表月份的month變量定義為byte類型會節省內存空間。

在實際應用中通常把month定義為int類型,因為這樣可以簡化數據運算時強制類型轉換操作。

byte month=1;

month=month+2;//編譯錯誤需要強轉

month=(byte)(month+2);//編譯正確

Java中整型常量數值的默認類型是int類型

char字符類型

char是字符類型占用兩個字節,java語言對字符采用Unicode字符編碼。

char是按照字符存儲的,不管英文還是中文,固定占用占用2個字節,用來儲存Unicode字符。范圍在0-65536。

utf-8與utf-16都是處理Unicode編碼,它們的編碼規則不太相同

utf-16的編碼效率高,從字節到字符的相互轉換更簡單,進行字符串操作也更好。它適合在本地磁盤和內存之間使用,可以進行字符和字節直接的快速切換,

如java的內存編碼就采用utf-16編碼。但是它不適合在網絡直接的傳輸utf-16采用順序編碼,不能對單個字符的編碼值進行校驗。如果中間一個字符碼值損壞,后面所有碼值都受到影響。

因為網絡傳輸容易損壞字節流,一旦字節流損壞就很難恢復。

utf-8更適合網絡傳輸對字符采用單字節的存儲,對漢字采用三個字節表示,另外單字節的損壞也不會影響后面的其他字符,在編碼效率上介于GBK和utf-16之前,在編碼效率和安全上做了平衡

所以utf-8是理想的中文編碼方式

上面藍色字體部分看起來自相矛盾(用char聲明漢字)下面解釋一下Unicode編碼和UTF編碼

Unicode編碼由國際Unicode協會編制,收錄了全世界所有語言文字中的字符,是一種跨平臺的字符編碼USC(Universal Character Set)是指采用Unicode編碼的通用字符集。Unicode有兩種編碼方案。

用兩個字節(16位)編碼,采用這個編碼方案的字符集稱為UCS-2。java語言采用的就是兩個字節的編碼方案

用四個字節(32位)編碼(實際上只用了31位,最高位必須為0),采用這個編碼的字符集被稱為UCS-4。

UTF編碼:有些操作系統不完全支持16位或32位的Unicode編碼,UTF(UCS Transformation Format)編碼能夠把Unicode編碼轉換為操作系統支持的編碼,常見的UTF編碼有utf-8,utf-7,utf-16

總結:上面藍色字體看似矛盾的部分是因為utf編碼對Unicode(UCS)進行了轉換和優化

float和double浮點類型(帶小數)

float:占四個字節,共32位,稱為單精度浮點數

double:占八個字節,共64位,稱為雙精度浮點數

Java中的浮點型常量數值默認是double類型

注意:java提供的浮點類型不適合進行精確的運算

四類Java8大基本數據類型詳解

解決辦法:java.math.BigDecimal類可以滿足用戶的精度注意構造BigDecimal類時構造方法中的參數不建議是浮點類型需要轉成String類型

基本數據類型轉換

上面四類八種基本數據類型。除了boolean類型。整型浮點型和字符型數據可以進行混合轉換

從低位到高位會自動進行類型轉換,(向上轉型)

從高位到低位需要進行強制類型轉換。(向下轉型)

從低位到高位byte、char、short、int、long、float、double

float f=3.14;//編譯錯誤,不能把double類型直接賦值給float類型變量需要強制類型轉換

應用中,強制類型轉換有可能會導致數據溢出或者精度下降,應該避免使用強制類型轉換。

下面代碼中把int強制轉換為byte類型,會導致數據溢出。

四類Java8大基本數據類型詳解

以上就是動力節點java培訓機構的小編針對“四類Java8大基本數據類型詳解”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本欧美一区二区三区乱码 | www.久久.com| 欧美亚洲一区二区三区四 | 国产成人精品免费 | 免费www xxx| 一七六九1769视频免费观看 | 欧美黄色免费网址 | 四虎精品成人a在线观看 | 色综合综合色 | 国产欧美精品一区二区色综合 | 天天操天天弄 | 奇米在线视频777 | 成人精品一区二区久久久 | 热灸灸这里只有精品 | 日本一级毛片视频 | 久久久www成人免费精品 | 5566中文字幕亚洲精品 | 在线视频综合网 | 成人免费一区二区三区在线观看 | 伊人色综合一区二区三区 | 福利视频国产 | 久久综合欧美 | 亚洲欧美成人综合 | 97桃色| 久久中文字幕一区二区三区 | 成人黄色网址 | 国内精品久久久久影院一蜜桃 | 久操久热 | 男人草女人的视频 | 色婷婷久久综合中文久久一本` | 五月综合在线 | 国产精品嫩草研究所永久网址 | 手机在线看福利 | 国产成人黄网址在线视频 | 久久青草免费视频 | 国产福利小视频在线观看 | 玖玖国产精品视频 | 日韩久草 | 成人精品第一区二区三区 | 亚洲美女视频网 | 日韩天堂在线 |