最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型

 更新時間:2019年06月30日 09:13:17   作者:工匠初心  
這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之八大基本數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

自從Java發(fā)布以來,基本數(shù)據(jù)類型就是Java語言的一部分,分別是byte, short, int, long, char, float, double, boolean.

其中:

整型:byte, short, int, long

字符型:char

浮點型:float, double

布爾型:boolean

在詳細介紹之前,先科普一下,Java中最小的計算單元為字節(jié),1字節(jié)=8位(bit)。

一. 整型

Java中整型數(shù)據(jù)屬于有符號數(shù),即第一個bit位為0表示正整數(shù),第一個bit位為1表示負整數(shù)。在計算機中負數(shù)由補碼進行表示,那么補碼如何計算呢?

補碼=源碼取反 + 1;

如:

22,在計算機中的表示為00010110,

-22,取反:11101001,加1:11101010

byte

byte屬于Java中的整型,長度為1字節(jié)8bit,取值10000000(-128)到 01111111(127),變量初始化默認值為0,包裝類Byte

short

short屬于Java中的整型,長度為2字節(jié)16bit,取值10000000 00000000(-32768)到 01111111 11111111(32767),變量初始化默認值為0,包裝類Short

int

int屬于Java中的整型,長度為4字節(jié)32bit,取值-2^31 (-2,147,483,648)到 2^31-1(2,147,483,647),變量初始化默認值為0,包裝類Integer

long

long屬于Java中的整型,長度為8字節(jié)64bit,取值-2^63 (-9,223,372,036,854,775,808‬)到 2^63-1(9,223,372,036,854,775,8087),變量初始化默認值為0或0L,包裝類Long

二. 浮點型

Java中浮點型數(shù)據(jù)無法由二進制直接表示,而是一種對于實數(shù)的近似數(shù)據(jù)表示法,它遵循IEEE 754標準

float

float屬于Java中的浮點型,也叫單精度浮點型,長度為4字節(jié)32bit,變量初始化默認值0.0f,包裝類Float

1. float結(jié)構(gòu)

包含三部分:符號位、指數(shù)位、尾數(shù)位

符號位(S) 指數(shù)位(E) 尾數(shù)位(M)
長度 1bit 8bit 23bit
說明 0表示正數(shù),1表示負數(shù) 格式為,E值范圍:(0,255),指數(shù)位取值:(, 形式為1.M或0.M。其中當E=0時,取1.M,稱為正規(guī)形式,當E!= 0時,取0.M,稱為非正規(guī)形式

2. float取值

正規(guī)形式:

非正規(guī)形式:

根據(jù)上面公式很容易計算出float的取值范圍為:


(最小值,當符號位S取1,指數(shù)位E取255)


(最大值,當符號位S取0,指數(shù)位E取255)

能取到其間的近似數(shù)據(jù)。

注意:根據(jù)指數(shù)位和尾數(shù)位的取值不同,還有很多特殊情況,如NAN,正無窮,負無窮,但平時基本不會用到,這里不再深入;同時由于是近似值,因此無法表示金額,表示金額建議使用BigDecimal

double

double屬于Java中的浮點型,也叫雙精度浮點型,長度為8字節(jié)64bit,變量初始化默認值0.0d,包裝類Double

1. double結(jié)構(gòu)

包含三部分:符號位、指數(shù)位、尾數(shù)位

符號位(S) 指數(shù)位(E) 尾數(shù)位(M)長度1bit11bit52bit說明0表示正數(shù),1表示負數(shù)格式為,E值范圍:(0,2047),指數(shù)位取值:(,)形式為1.M或0.M。其中當E=0時,取1.M,稱為正規(guī)形式,當E!= 0時,取0.M,稱為非正規(guī)形式2. double取值

正規(guī)形式:

非正規(guī)形式:

根據(jù)上面公式很容易計算出double的取值范圍為:


(最小值,當符號位S取1,指數(shù)位E取2047)


(最大值,當符號位S取0,指數(shù)位E取2047)

能取到其間的近似數(shù)據(jù)。

注意:根據(jù)指數(shù)位和尾數(shù)位的取值不同,還有很多特殊情況,如NAN,正無窮,負無窮,但平時基本不會用到,這里不再深入;同時由于是近似值,因此無法表示金額,表示金額建議使用BigDecimal

三. 字符型char

char屬于java中的字符型,占2字節(jié)16bit,可以賦值單字符以及整型數(shù)值, 變量初始化無默認值,包裝類Character。

如:

char a = 'a';

char a = '中';

char a = 12; // 取值范圍0~65536,因為char類型在ASCII字符編碼中,有對應(yīng)的數(shù)值,可直接做運算,輸出字符表中對應(yīng)的字符

四. 布爾型

boolean

在JVM中并沒有提供boolean專用的字節(jié)碼指令,而boolean類型數(shù)據(jù)在經(jīng)過編譯后在JVM中會通過int類型來表示,此時boolean數(shù)據(jù)4字節(jié)32位,而boolean數(shù)組將會被編碼成Java虛擬機的byte數(shù)組,此時每個boolean數(shù)據(jù)1字節(jié)占8bit.

--Java虛擬機規(guī)范

僅有兩個值true, false,變量初始化默認值false

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Java多線程中的CyclicBarrier使用方法詳解

    Java多線程中的CyclicBarrier使用方法詳解

    這篇文章主要介紹了Java多線程中的CyclicBarrier使用方法詳解,CyclicBarrier是一種同步輔助工具,它允許一組線程都等待對方到達公共障礙點,在涉及固定大小的線程的程序中,CyclicBarriers非常有用,這些線程間必須相互等待,需要的朋友可以參考下
    2023-12-12
  • SpringBoot項目的漏洞修復(fù)經(jīng)驗分享

    SpringBoot項目的漏洞修復(fù)經(jīng)驗分享

    在局域網(wǎng)環(huán)境下,由于無法連接外網(wǎng)下載Maven包,常見解決方案是在外網(wǎng)環(huán)境搭建相同的開發(fā)環(huán)境以便更新Maven包,本次漏洞掃描包括Tomcat、jackson-databind、fastjson、logback等組件,通常解決方法是升級到更高版本
    2024-10-10
  • SpringBoot如何進行對象復(fù)制的實踐

    SpringBoot如何進行對象復(fù)制的實踐

    本文主要介紹了SpringBoot 如何進行對象復(fù)制,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 深入淺出探究Java多態(tài)的實現(xiàn)和應(yīng)用

    深入淺出探究Java多態(tài)的實現(xiàn)和應(yīng)用

    多態(tài)是實現(xiàn)面向?qū)ο蟮能浖夹g(shù)中必不可少的一個內(nèi)容,所以這篇文章主要來和大家講解一下Java多態(tài)的實現(xiàn)和應(yīng)用,感興趣的小伙伴可以了解一下
    2023-07-07
  • Java超詳細講解多線程中的Process與Thread

    Java超詳細講解多線程中的Process與Thread

    進程process:在一定的環(huán)境下,把靜態(tài)的程序代碼運行起來,通過使用不同的資源,來完成一定的任務(wù);線程thread:是程序中一個單一的順序控制流程。在單個進程中同時運行多個線程完成不同的工作,稱為多線程
    2022-05-05
  • 詳解Java的堆內(nèi)存與棧內(nèi)存的存儲機制

    詳解Java的堆內(nèi)存與棧內(nèi)存的存儲機制

    這篇文章主要介紹了Java的堆內(nèi)存與棧內(nèi)存的存儲機制,包括JVM的內(nèi)存優(yōu)化和GC等相關(guān)方面內(nèi)容,需要的朋友可以參考下
    2016-01-01
  • Spring使用@responseBody與序列化詳解

    Spring使用@responseBody與序列化詳解

    這篇文章主要介紹了Spring使用@responseBody與序列化詳解,@responseBody注解的作用是將controller的方法返回的對象通過適當?shù)霓D(zhuǎn)換器轉(zhuǎn)換為指定的格式之后,寫入到response對象的body區(qū),通常用來返回JSON數(shù)據(jù)或者是XML數(shù)據(jù),需要的朋友可以參考下
    2023-08-08
  • feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式

    feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式

    這篇文章主要介紹了feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 使用Java代碼進行因數(shù)分解和求最小公倍數(shù)的示例

    使用Java代碼進行因數(shù)分解和求最小公倍數(shù)的示例

    這篇文章主要介紹了使用Java代碼進行因數(shù)分解和求最小公倍數(shù)的示例,都是基于最基礎(chǔ)的算法原理實現(xiàn),需要的朋友可以參考下
    2015-11-11
  • Spring?Boot實現(xiàn)文件上傳的兩種方式總結(jié)

    Spring?Boot實現(xiàn)文件上傳的兩種方式總結(jié)

    應(yīng)用開發(fā)過程中,文件上傳是一個基礎(chǔ)的擴展功能,它的目的就是讓大家共享我們上傳的文件資源,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Spring?Boot實現(xiàn)文件上傳的兩種方式,需要的朋友可以參考下
    2023-05-05

最新評論

临澧县| 云阳县| 屏东市| 涡阳县| 铁岭县| 武宣县| 波密县| 信阳市| 济阳县| 济源市| 铜鼓县| 绵阳市| 民丰县| 改则县| 朝阳市| 山丹县| 岐山县| 获嘉县| 越西县| 呼和浩特市| 平乡县| 潞城市| 兴仁县| 广平县| 鹿泉市| 和政县| 黔东| 搜索| 嘉祥县| 黎平县| 乐亭县| 淮安市| 赤水市| 元阳县| 连城县| 高密市| 苍溪县| 东辽县| 察隅县| 鲜城| 蓬莱市|