Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換-創(chuàng)新互聯(lián)

Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換

文本關(guān)鍵字:8種、基本數(shù)據(jù)類型、整數(shù)類型、浮點類型、字符類型、布爾類型

創(chuàng)新互聯(lián)公司專注于榆次網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供榆次營銷型網(wǎng)站建設(shè),榆次網(wǎng)站制作、榆次網(wǎng)頁設(shè)計、榆次網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造榆次網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供榆次網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

一、基本數(shù)據(jù)類型

1. 概述

在Java中,所使用到的類型可以分為兩大類,一類是基本數(shù)據(jù)類型,一共有8種,包含:整數(shù),小數(shù),字符,布爾。另外一類是引用類型,包含:字符串,數(shù)組以及各種Java類。

2. 整數(shù)類型

整數(shù)類型是一個很常用,也比較簡單的類型,在計算機中以二進制的方式存儲,其中有一位是符號位。

  • byte:-2^7 ~ 2^7 - 1
    • 1字節(jié)
    • 8bit
  • short:-2^15 ~ 2^15 - 1
    • 2字節(jié)
    • 16bit
  • int:-2^31 ~ 2^31 - 1
    • 4字節(jié)
    • 32bit
  • long:-2^63 ~ 2^63 - 1

    • 8字節(jié)
    • 64bit

      3. 浮點類型

      對于浮點(小數(shù))類型,存儲的方式與整數(shù)有所不同,其中符號位固定為1位,另外兩部分為指數(shù)部分和小數(shù)部分。我們都學過科學計數(shù)法的表示方式,對于十進制,小數(shù)點前的部分的取值范圍為1-9,在存儲前也會整理成二進制的形式,會變成(+/-)1.b × 2^a。那么指數(shù)部分對應的就是a,尾數(shù)部分對應的就是b。
      對于float,指數(shù)部分為8位,尾數(shù)部分為23位。對于double,指數(shù)部分為11位,尾數(shù)部分為52位。

  • float:約1.4 × 10^-45~3.4 × 10^38,精度為6~7位
    • 4字節(jié)
    • 32bit
  • double:約4.9 × 10^-432~1.7 × 10^308,精度為15~16位

    • 8字節(jié)
    • 64bit

      4. 字符類型

      對于字符類型,在進行存儲時,也同樣是一個整數(shù),只不過在使用時會進行編碼。說的直白一些就是,建立起了一個數(shù)字和字符之間的對應關(guān)系,只要明確字符對應的數(shù)字,或者直接將字符給出,都能夠正確表示出一個字符。

  • char

    • 2字節(jié)
    • 16bit

      5. 布爾類型

      布爾類型是一個范圍最小的數(shù)據(jù)類型,只用一個二進制位就可以來記錄,0表示false-假,1表示true-真。

  • boolean:true/false
    • 1字節(jié)
    • 1bit

      6. 字面值

      當我們在使用一個數(shù)據(jù)類型時,總會進行一些直接賦值的操作,完整的格式如下:

  • 數(shù)據(jù)類型 變量名稱 = 變量值

如:int i = 5;char c = '中';double = 3.14;那么出現(xiàn)在等號右側(cè)的值就被稱為字面值。

  • 整數(shù)類型字面值
    • 默認十進制(int類型):136,當非常大的數(shù)需要用long存儲時結(jié)尾需要添加字母L/l
    • 二進制(0b開頭):0b101
    • 八進制(0開頭):073
    • 十六進制(0x開頭):0xAC23
  • 浮點類型字面值
    • 單精度(以F/f結(jié)尾):236.935f
    • 雙精度(默認小數(shù)類型):68263.2811

二、數(shù)據(jù)類型轉(zhuǎn)換

Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換

1. 自動類型轉(zhuǎn)換

圖中黑色的部分,可以自動進行轉(zhuǎn)換,并且不會出現(xiàn)任何使用上的問題,只不過存儲數(shù)據(jù)空間需要變大些,這也就是由低精度向高精度的轉(zhuǎn)換。
其中紅色箭頭的部分,也可以自動進行轉(zhuǎn)換,即:代碼上不需要添加轉(zhuǎn)換的操作,且編譯不會出現(xiàn)問題。但是在使用時會出現(xiàn)精度丟失的問題,因為對于整數(shù)類型,在其所支持的存儲范圍內(nèi)精度都是可以保證的,而對于float和double類型,精度只有相應的6~7和15~16位,所以在使用時一定要注意!

2. 強制類型轉(zhuǎn)換

那什么時候需要手動來進行類型轉(zhuǎn)換呢?就是與箭頭方向相反時,以及由高精度到低精度來進行賦值操作時,必須要手動進行強制轉(zhuǎn)換。這意味著,你知道這其中的風險,并一定要這樣做,那么無法被記錄的字節(jié)將被直接截斷和丟棄,最高位被識別為符號位。所以,只有當數(shù)據(jù)本身不會超出目標數(shù)據(jù)類型時,我們才會進行轉(zhuǎn)換,否則有可能會得到各種奇怪的結(jié)果。

3. 表達式中的類型提升

當我們在使用表達式進行計算時,如最基本的四則運算,加減乘除。

short s1 = 40;
short s2 = 40;
short s3 = s1 + s2;// 該行編譯錯誤,why?
short s4 = (short)(s1 + s2);// 編譯通過

對于以上的情況,是因為出現(xiàn)了類型提升,當符號兩側(cè)出現(xiàn)整數(shù)時,運算結(jié)果的類型將被提升為默認的整數(shù)類型:int,而將int類型賦值給short是需要類型轉(zhuǎn)換的。同樣,運算符號兩側(cè)出現(xiàn)小數(shù)類型時,運算結(jié)果的類型將被提升為默認的浮點數(shù)類型:double,在賦值給其他變量時同樣要進行類型轉(zhuǎn)換。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

文章題目:Java基本數(shù)據(jù)類型與類型轉(zhuǎn)換-創(chuàng)新互聯(lián)
標題路徑:http://bm7419.com/article2/dsdjic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、品牌網(wǎng)站制作營銷型網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管