日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java数据类型_JAVA的数据类型

發(fā)布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java数据类型_JAVA的数据类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 什么是數(shù)據(jù)類型:百度百科 數(shù)據(jù)類型在數(shù)據(jù)結(jié)構(gòu)中的定義是一個值的集合以及定義在這個值集上的一組操作(簡單來說就java對數(shù)據(jù)進(jìn)行了分類,存在不同的類型)
  • 那么為什么需要數(shù)據(jù)分類呢?
因為在java中不同的數(shù)據(jù)類型占用不同的存儲空間,為了更好的利用計算機的內(nèi)存空間。
  • 下面我們用一張圖來說明一下數(shù)據(jù)類型的分類

  • 上圖中我們可以看到有8種基本數(shù)據(jù)類型,它存儲的是數(shù)據(jù)值本身。
  • 而引用數(shù)據(jù)類型存儲的是數(shù)據(jù)的內(nèi)存空間地址
  • 數(shù)據(jù)類型的基本數(shù)據(jù)類型認(rèn)識
  • java中每個變量都有一種類型,而類型限制了可以存放的那些值得類型。
    引用數(shù)據(jù)類型:類(class);一個類就是一個數(shù)據(jù)類型
    • 相信我們的小伙伴肯定知道計算機中存儲的單位,而在計算機底層的本質(zhì)存儲數(shù)據(jù)的形式就是二進(jìn)制數(shù)據(jù)。
    1Byte=8bit(bit就是一個二進(jìn)制位)
    1KB=1024Byte
    1M=1024KB
    1G=1024M
    • 整數(shù)類型:byte short int long

    看到這里就有個疑問了,如果我們的值比long還大,我們怎么辦呢?
    其實java提供了一個類:BigInteger.來用于處理較大的整數(shù)
    值得注意的是因為整數(shù)類型默認(rèn)的是int類型,在long類型賦值的時候,需要在后面加上L(l)。
    在java7開始,已經(jīng)支持?jǐn)?shù)據(jù)之間用_(下劃線)分隔,例如(12_34_56輸出為123456)
    • 浮點型 float double
    說白了,就是小數(shù)。

    這兩種有啥區(qū)別呢?
    float表示單精度(32位),給變量賦值時需要加上F(f)
    double表示雙精度(64位)
    對于單精度浮點數(shù),運行速度相比double更快,占用內(nèi)存更小,但是當(dāng)數(shù)值非常大或者精確位數(shù)多會變的不準(zhǔn)確
    在浮點數(shù)中默認(rèn)的類型是double
    使用時需要注意:有時會精度丟失
    例如double num=1.0(表示一個無限接近于1.0的值)
    我們可以總結(jié)一個結(jié)論:浮點數(shù)運算很少是精確的,只要超過精度就會有誤差,往往誤差不是因為數(shù)的大小,而是因為數(shù)的精度,因此產(chǎn)生的結(jié)果接近但是不等于想要的結(jié)果,尤其使用float和double做精確運算時更要注意
    那么需要運算更精確的值怎么辦呢?java提供了BigDecimal來表示
    • 字符 char
    什么是字符:單引號 引起來的一個符號就是字符數(shù)據(jù) 例如:’A’
    存儲單位16 位[0-65535] [2個字節(jié),16位]。字符常量使用單引號 ‘ ’包裹起來
    字符數(shù)據(jù)可以當(dāng)成一個整數(shù)來使用
    使用一個數(shù)字表示,對應(yīng)有一個ASCII碼表[ 字符編碼 ]:百度了解
    • 布爾類型 boolean
    值只有兩個true false

    2.引用數(shù)據(jù)類型

    • 引用類型String
    String是 java中已經(jīng)設(shè)計好的一個類,表示的值是字符串,是字符串?dāng)?shù)據(jù)類型
    [注意:Java中設(shè)計的類和我們自己設(shè)計的類的性質(zhì)是一樣的]
    當(dāng)String 和 + 一起使用的時候,這時候+ 是拼接字符串的功能
    一個類其實就是一種引用數(shù)據(jù)類型
    自己寫的一個類也是一種數(shù)據(jù)類型,類型為類名
    誤區(qū) : 很多人一開始覺得 Java中提供的類才是一種類型,而我們自己寫覺得不是!

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

  • 為什么要進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換呢?
  • 為了節(jié)省空間大轉(zhuǎn)小
    Web前臺傳的都是字符串?dāng)?shù)據(jù),如果后臺需要運算,得轉(zhuǎn)換

    2.轉(zhuǎn)換類型

    ①自動類型轉(zhuǎn)換:小數(shù)據(jù)類型轉(zhuǎn)大數(shù)據(jù)類型【存儲空間的大小】

    ②強制類型轉(zhuǎn)換:

    1)大數(shù)據(jù)類型轉(zhuǎn)小數(shù)據(jù)類型[存儲空間大小]

    2)相同存儲空間不同類型表達(dá)值范圍不一樣[例如:char及short]

    3.注意說明

    ①char型具有兩個字節(jié),其數(shù)值范圍是0 ~ 2^16-1

    ②short類型也具有兩個字節(jié),其值的范圍是-2^15 ~ 2^15-1

    這直接導(dǎo)致byte型不能自動類型提升到char,char和short直接也不會發(fā)生自動類型提升(因為值范圍問題),同時,byte當(dāng)然可以直接提升到short型。

    所以,char 不能和byte short 相互自動轉(zhuǎn)換

    4.我們著重講一下強制轉(zhuǎn)換

    ①強制類型轉(zhuǎn)換的語法

    數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)值;//值可能是更高的類型

    ②強制類型轉(zhuǎn)換的注意事項

    (1) 高轉(zhuǎn)低會導(dǎo)致精度丟失,不同類型的強制轉(zhuǎn)換,可能會導(dǎo)致精度的下降.

    (2) 實際開發(fā)中:應(yīng)該要知道被強制轉(zhuǎn)換的數(shù)據(jù),是在一個已知的范圍;


    有什么補充歡迎大家評論~來自新手小白的數(shù)據(jù)類型初體驗

    總結(jié)

    以上是生活随笔為你收集整理的java数据类型_JAVA的数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。