亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java數(shù)據(jù)類型超詳細(xì)示例講解

 更新時間:2022年11月30日 15:18:41   作者:橙子!  
Java程序中要求參與的計算的數(shù)據(jù),必須要保證數(shù)據(jù)類型的一致性,如果數(shù)據(jù)類型不一致將發(fā)生類型的轉(zhuǎn)換。本文將通過示例詳細(xì)說說Java中數(shù)據(jù)類型的轉(zhuǎn)換,感興趣的可以了解一下

1. Java數(shù)據(jù)類型

前面說到,程序運(yùn)行時產(chǎn)生的臨時數(shù)據(jù)我們存儲在被稱為變量的內(nèi)存單元里,而變量的創(chuàng)建,就是在內(nèi)存中分配一塊內(nèi)存空間。

為什么要定義不同的數(shù)據(jù)類型呢?當(dāng)我們預(yù)先定義好數(shù)據(jù)類型后,內(nèi)存管理系統(tǒng)在給變量分配內(nèi)存空間時,就可以根據(jù)變量的數(shù)據(jù)類型為變量分配合適的存儲空間,分配的空間只能用來儲存該類型數(shù)據(jù)。總的來說,給變量定義數(shù)據(jù)類型可以讓內(nèi)存空間得到充分的利用。

Java中數(shù)據(jù)類型一共分為兩大類,一類是基本數(shù)據(jù)類型,另一類叫做引用數(shù)據(jù)類型。其中基本數(shù)據(jù)類型一共 8 種。

2. 基本數(shù)據(jù)類型

在基本數(shù)據(jù)類型中,每一個類型都定義了占用存儲空間的字節(jié)數(shù),我們可以根據(jù)現(xiàn)實(shí)中的意義,數(shù)據(jù)所占用內(nèi)存的大小等選擇合適的數(shù)據(jù)類型,達(dá)到充分利用內(nèi)存空間的目的。

Java中定義了 8 個基本數(shù)據(jù)類型,分別是:

  • byte 字節(jié)型
  • short 短整型
  • int 整型
  • long 長整形
  • float 單精度浮點(diǎn)型
  • double 雙精度浮點(diǎn)型
  • boolean 布爾型
  • char 字符型

其中前四種是數(shù)值型變量,現(xiàn)在對這 8 中數(shù)據(jù)類型做一個詳解:

byte:

  • byte 數(shù)據(jù)類型是8位、有符號的,以二進(jìn)制補(bǔ)碼表示的整數(shù);
  • 最小值是 -128(-2^7);
  • 最大值是 127(2^7-1);
  • 默認(rèn)值是 0;

short:

  • short 數(shù)據(jù)類型是 16 位、有符號的以二進(jìn)制補(bǔ)碼表示的整數(shù)
  • 最小值是 -32768(-2^15);
  • 最大值是 32767(2^15 - 1);
  • 默認(rèn)值是 0;

int:

  • int 數(shù)據(jù)類型是32位、有符號的以二進(jìn)制補(bǔ)碼表示的整數(shù);
  • 最小值是 -2,147,483,648(-2^31);
  • 最大值是 2,147,483,647(2^31 - 1);
  • 默認(rèn)值是 0 ;

long:

  • long 數(shù)據(jù)類型是 64 位、有符號的以二進(jìn)制補(bǔ)碼表示的整數(shù);
  • 最小值是 -9,223,372,036,854,775,808(-2^63);
  • 最大值是 9,223,372,036,854,775,807(2^63 -1);
  • 默認(rèn)值是 0L;

float:

  • float 數(shù)據(jù)類型是單精度、32位、符合IEEE 754標(biāo)準(zhǔn)的浮點(diǎn)數(shù);
  • float 在儲存大型浮點(diǎn)數(shù)組的時候可節(jié)省內(nèi)存空間;
  • 默認(rèn)值是 0.0f;
  • 浮點(diǎn)數(shù)不能用來表示精確的值,如貨幣;

double:

  • double 數(shù)據(jù)類型是雙精度、64 位、符合 IEEE 754 標(biāo)準(zhǔn)的浮點(diǎn)數(shù);
  • 浮點(diǎn)數(shù)的默認(rèn)類型為 double 類型;
  • double類型同樣不能表示精確的值,如貨幣;
  • 默認(rèn)值是 0.0d;

boolean:

  • boolean數(shù)據(jù)類型表示一位的信息;
  • 只有兩個取值:true 和 false;
  • 這種類型只作為一種標(biāo)志來記錄 true/false 情況;
  • 默認(rèn)值是 false;

char:

  • char 類型是一個單一的 16 位 Unicode 字符;
  • 最小值是 \u0000(十進(jìn)制等效值為 0);
  • 最大值是 \uffff(即為 65535);
  • char 數(shù)據(jù)類型可以儲存任何字符;

在學(xué)習(xí)基本數(shù)據(jù)類型時,不需要刻意的記背,在后面的練習(xí)中,由于數(shù)據(jù)類型的概念會一直用到,所以會慢慢熟練的掌握,現(xiàn)在要學(xué)習(xí)的就是了解每個數(shù)據(jù)類型,以及表示的數(shù)據(jù)范圍,思考不同數(shù)據(jù)類型的應(yīng)用場景。

數(shù)據(jù)類型的最大最小值以常量的形式定義在對應(yīng)的包裝類中,例如整形 int 的包裝類:java.lang.Integer

public class Test {
    public static void main(String[] args) {
        System.out.println("整型 占用的二進(jìn)制位:"+ Integer.SIZE);
        System.out.println("最大值:"+Integer.MAX_VALUE);
        System.out.println("最小值:"+Integer.MIN_VALUE);
    }
}

運(yùn)行結(jié)果:

整型 占用的二進(jìn)制位:32
最大值:2147483647
最小值:-2147483648

每個基本數(shù)據(jù)類型都預(yù)先定義了一個默認(rèn)值,上面的介紹中已經(jīng)給出。

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

引用數(shù)據(jù)類型的變量非常類似與C/C++中的指針,引用類型指向一個對象,這時指向?qū)ο蟮倪@個變量就是引用變量。引用類型的變量的默認(rèn)值都是 NULL。

Java是一門面向?qū)ο蟮木幊陶Z言,后面我們要用到的類,接口,數(shù)組都是引用數(shù)據(jù)類型。

Student stu = new Student();

如上,在創(chuàng)建一個 Student 對象的時候,就是定義了一個名為 stu 的對象變量指向這個 Student 的對象。

4. 類型轉(zhuǎn)換

4.1 自動類型轉(zhuǎn)換

整型、實(shí)型、字符型數(shù)據(jù)可以混合運(yùn)算。運(yùn)算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進(jìn)行運(yùn)算。

轉(zhuǎn)換時,必須滿足轉(zhuǎn)換前的數(shù)據(jù)類型的位數(shù)要低于轉(zhuǎn)換后的數(shù)據(jù)類型(byte —> short —> char—> int —> long—> float —> double ),例如: short 數(shù)據(jù)類型的位數(shù)為16位,就可以自動轉(zhuǎn)換位數(shù)為32的 int 類型。如下:

public class Test{
    public static void main(String[] args){
        char c1='a';//定義一個char類型
        int i1 = c1;//char自動類型轉(zhuǎn)換為int
        System.out.println("char自動類型轉(zhuǎn)換為int后的值等于"+i1);
    }
}

運(yùn)行結(jié)果:

char 自動類型轉(zhuǎn)換為 int 后的值等于97

4.2 強(qiáng)制類型轉(zhuǎn)換

當(dāng)我們要進(jìn)行從高級轉(zhuǎn)換到低級時,就要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。轉(zhuǎn)換的條件是轉(zhuǎn)換的數(shù)據(jù)類型必須是兼容的。如下:

public class Test{
    public static void main(String[] args){
        int i = 123;
        byte b = (byte)i;//強(qiáng)制類型轉(zhuǎn)換為byte
        System.out.println("int強(qiáng)制類型轉(zhuǎn)換為byte后的值等于"+b);
    }
}

運(yùn)行結(jié)果:

int強(qiáng)制類型轉(zhuǎn)換為byte后的值等于123

數(shù)據(jù)類型轉(zhuǎn)換應(yīng)該注意這些問題:

  • 不能對 boolean 類型進(jìn)行類型轉(zhuǎn)換。
  • 不能把對象類型轉(zhuǎn)換成不相關(guān)類的對象。
  • 在把容量大的類型轉(zhuǎn)換為容量小的類型時必須使用強(qiáng)制類型轉(zhuǎn)換。
  • 轉(zhuǎn)換過程中可能導(dǎo)致溢出或損失精度。

到此這篇關(guān)于Java數(shù)據(jù)類型超詳細(xì)示例講解的文章就介紹到這了,更多相關(guān)Java數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 給PDF簽名時添加可信時間戳的方法

    Java 給PDF簽名時添加可信時間戳的方法

    這篇文章主要介紹了Java 給PDF簽名時添加可信時間戳,關(guān)于jar導(dǎo)入的問題,本文給大家?guī)韮煞N方法,一種是手動導(dǎo)入另一種是maven配置導(dǎo)入,需要的朋友可以參考下
    2021-07-07
  • java 中內(nèi)部類的實(shí)例詳解

    java 中內(nèi)部類的實(shí)例詳解

    這篇文章主要介紹了java 中內(nèi)部類的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • 關(guān)于java.math.BigDecimal比較大小問題

    關(guān)于java.math.BigDecimal比較大小問題

    這篇文章主要介紹了關(guān)于java.math.BigDecimal比較大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java實(shí)戰(zhàn)之桌球小游戲

    java實(shí)戰(zhàn)之桌球小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)戰(zhàn)之桌球小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Java多線程編程安全退出線程方法介紹

    Java多線程編程安全退出線程方法介紹

    這篇文章主要介紹了Java多線程編程安全退出線程方法介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 詳解Spring如何整合Mybatis

    詳解Spring如何整合Mybatis

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著Spring如何整合Mybatis展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java8的EnumMap源碼分析

    Java8的EnumMap源碼分析

    這篇文章主要介紹了Java8的EnumMap源碼分析,EnumMap 是一個用于存儲 key 為枚舉類型的 map,底層使用數(shù)組實(shí)現(xiàn)(K,V 雙數(shù)組),與其他類型 map 不同的是 EnumMap 底層使用雙數(shù)組來存儲 key 與 value,key 數(shù)組會在構(gòu)造函數(shù)中根據(jù) keyType 進(jìn)行初始化,需要的朋友可以參考下
    2023-11-11
  • Java創(chuàng)建型設(shè)計模式之工廠方法模式深入詳解

    Java創(chuàng)建型設(shè)計模式之工廠方法模式深入詳解

    工廠方法模式(FACTORY METHOD)是一種常用的類創(chuàng)建型設(shè)計模式,此模式的核心精神是封裝類中變化的部分,提取其中個性化善變的部分為獨(dú)立類,通過依賴注入以達(dá)到解耦、復(fù)用和方便后期維護(hù)拓展的目的。它的核心結(jié)構(gòu)有四個角色,分別是抽象工廠、具體工廠、抽象產(chǎn)品、具體產(chǎn)品
    2022-09-09
  • spring boot 使用Aop通知打印控制器請求報文和返回報文問題

    spring boot 使用Aop通知打印控制器請求報文和返回報文問題

    這篇文章主要介紹了spring-boot 使用Aop通知打印控制器請求報文和返回報文,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-04-04
  • 使用Maven配置Spring的方法步驟

    使用Maven配置Spring的方法步驟

    這篇文章主要介紹了使用Maven配置Spring的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04

最新評論