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

Java數(shù)據(jù)類型轉(zhuǎn)換的示例詳解

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

Java程序中要求參與的計算的數(shù)據(jù),必須要保證數(shù)據(jù)類型的一致性,如果數(shù)據(jù)類型不一致將發(fā)生類型的轉(zhuǎn)換。

自動轉(zhuǎn)換

一個int 類型變量和一個byte 類型變量進(jìn)行加法運(yùn)算, 結(jié)果會是什么數(shù)據(jù)類型?

public static void main(String[] args) {
    int i = 1;
    byte j = 2;
    // byte t = b + i; // 報錯
    //int類型和byte類型運(yùn)算,結(jié)果是int類型
    int k = i + j;
    System.out.println(k);
}

運(yùn)算結(jié)果,變量的類型將是int 類型,這就是出現(xiàn)了數(shù)據(jù)類型的自動類型轉(zhuǎn)換現(xiàn)象。 自動轉(zhuǎn)換:將取值范圍小的類型自動提升為取值范圍大的類型 。

轉(zhuǎn)換原理

byte 類型內(nèi)存占有1個字節(jié),在和int 類型運(yùn)算時會提升為int 類型 ,自動補(bǔ)充3個字節(jié),因此計算后的結(jié)果還是int 類型。 同樣道理,當(dāng)一個int 類型變量和一個double 變量運(yùn)算時, int 類型將會自動提升為double 類型進(jìn)行運(yùn)算。

public static void main(String[] args) {
    int i = 1;
    double d = 2.5;
    //int類型和double類型運(yùn)算,結(jié)果是double類型
    //int類型會提升為double類型
    double e = d+i;
    System.out.println(e);
}

轉(zhuǎn)換規(guī)則

范圍小的類型向范圍大的類型提升, byte、short、char 運(yùn)算時直接提升為int 。

byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

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

將1.5 賦值到int 類型變量會發(fā)生什么?產(chǎn)生編譯失敗,肯定無法賦值。

int i = 1.5; // 錯誤

double 類型內(nèi)存8個字節(jié), int 類型內(nèi)存4個字節(jié)。1.5 是double 類型,取值范圍大于int ??梢岳斫鉃閐ouble 是8 升的水壺, int 是4升的水壺,不能把大水壺中的水直接放進(jìn)小水壺去。 想要賦值成功,只有通過強(qiáng)制類型轉(zhuǎn)換,將double 類型強(qiáng)制轉(zhuǎn)換成int 類型才能賦值。

強(qiáng)制類型轉(zhuǎn)換:將取值范圍大的類型強(qiáng)制轉(zhuǎn)換成取值范圍小的類型。 比較而言,自動轉(zhuǎn)換是Java自動執(zhí)行的,而強(qiáng)制轉(zhuǎn)換需要我們自己手動執(zhí)行。

轉(zhuǎn)換格式

數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)被轉(zhuǎn)數(shù)據(jù)值;

將1.5 賦值到int 類型,代碼修改為:

// double類型數(shù)據(jù)強(qiáng)制轉(zhuǎn)成int類型,直接去掉小數(shù)點(diǎn)。
int i = (int)1.5;

同樣道理,當(dāng)一個short 類型與1 相加,我們知道會類型提升,但是還想給結(jié)果賦值給short類型變量,就需要強(qiáng)制轉(zhuǎn)換。

注意

  • 浮點(diǎn)轉(zhuǎn)成整數(shù),直接取消小數(shù)點(diǎn),可能造成數(shù)據(jù)損失精度。
  • int 強(qiáng)制轉(zhuǎn)成short 砍掉2個字節(jié),可能造成數(shù)據(jù)丟失。

ASCII編碼表

public static void main(String[] args) {
    //字符類型變量
    char c = 'a';
    int i = 1;
    //字符類型和int類型計算
    System.out.println(c+i);//輸出結(jié)果是98
}

在計算機(jī)的內(nèi)部都是二進(jìn)制的0、1數(shù)據(jù),如何讓計算機(jī)可以直接識別人類文字的問題呢?就產(chǎn)生出了編碼表的概念。

編碼表 :就是將人類的文字和一個十進(jìn)制數(shù)進(jìn)行對應(yīng)起來組成一張表格。

將所有的英文字母,數(shù)字,符號都和十進(jìn)制進(jìn)行了對應(yīng),因此產(chǎn)生了世界上第一張編碼表ASCII(American Standard Code for Information Interchange 美國標(biāo)準(zhǔn)信息交換碼)。

小貼士: 在char類型和int類型計算的過程中,char類型的字符先查詢編碼表,得到97,再和1求和,結(jié)果為98。char類型提升 為了int類型。char類型內(nèi)存2個字節(jié),int類型內(nèi)存4個字節(jié)。

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

相關(guān)文章

  • Java實(shí)現(xiàn)畫線、矩形、橢圓、字符串功能

    Java實(shí)現(xiàn)畫線、矩形、橢圓、字符串功能

    本篇文章主要介紹了Java實(shí)現(xiàn)畫線、矩形、橢圓、字符串功能的實(shí)例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • SpringBoot實(shí)現(xiàn)自定義Starter的步驟詳解

    SpringBoot實(shí)現(xiàn)自定義Starter的步驟詳解

    在SpringBoot中,Starter是一種特殊的依賴,它可以幫助我們快速地集成一些常用的功能,例如數(shù)據(jù)庫連接、消息隊列、Web框架等。在本文中,我們將介紹如何使用Spring Boot實(shí)現(xiàn)自定義Starter,需要的朋友可以參考下
    2023-06-06
  • SpringBoot項目的兩種發(fā)布方式

    SpringBoot項目的兩種發(fā)布方式

    本文主要介紹了SpringBoot項目的兩種發(fā)布方式,包含jar包發(fā)布和war包發(fā)布,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • IDEA如何切換JDK版本

    IDEA如何切換JDK版本

    本文主要介紹了IDEA如何切換JDK版本,JDK版本之間的關(guān)系是一個向后兼容的關(guān)系,所以我們需要切換JDK的版本號,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • java進(jìn)階之了解SpringBoot的配置原理

    java進(jìn)階之了解SpringBoot的配置原理

    今天帶大家了解SpringBoot的相關(guān)知識,文中對SpringBoot的配置原理作了非常詳細(xì)的圖文示例及介紹,需要的朋友可以參考下
    2021-06-06
  • Kafka是什么及如何使用SpringBoot對接Kafka(最新推薦)

    Kafka是什么及如何使用SpringBoot對接Kafka(最新推薦)

    這篇文章主要介紹了Kafka是什么,以及如何使用SpringBoot對接Kafka,今天我們通過一個Demo講解了在SpringBoot中如何對接Kafka,也介紹了下關(guān)鍵類?KafkaTemplate,需要的朋友可以參考下
    2023-11-11
  • 在2023idea中實(shí)現(xiàn)SpringBoot的IoC和AOP的方法

    在2023idea中實(shí)現(xiàn)SpringBoot的IoC和AOP的方法

    這篇文檔詳細(xì)介紹了如何在Spring Boot中實(shí)現(xiàn)IoC(控制反轉(zhuǎn))和AOP(面向切面編程),深入探討了AOP的基本概念,包括AOP的作用、優(yōu)勢以及實(shí)現(xiàn)方式,最后,它提到了AOP的注解,如@Aspect、@Pointcut、@Before、@After、@AfterReturning、@AfterThrowing和@Around
    2024-11-11
  • Java動態(tài)代理和反射機(jī)制詳解

    Java動態(tài)代理和反射機(jī)制詳解

    這篇文章主要介紹了Java動態(tài)代理和反射機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot中注冊Bean的10種方式總結(jié)

    SpringBoot中注冊Bean的10種方式總結(jié)

    在Spring Boot應(yīng)用中,Bean是構(gòu)成應(yīng)用的核心組件,Spring容器負(fù)責(zé)管理這些Bean,包括它們的創(chuàng)建、配置、組裝、管理和銷毀,在Spring Boot中,有多種方式可以注冊Bean,本文將詳細(xì)介紹這些不同的注冊方式,并給出相應(yīng)的示例代碼和適用場景,需要的朋友可以參考下
    2024-08-08
  • SpringBoot使用ApplicationEvent&Listener完成業(yè)務(wù)解耦

    SpringBoot使用ApplicationEvent&Listener完成業(yè)務(wù)解耦

    這篇文章主要介紹了SpringBoot使用ApplicationEvent&Listener完成業(yè)務(wù)解耦示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評論

安远县| 天津市| 英吉沙县| 黔西| 穆棱市| 思茅市| 托克逊县| 织金县| 西和县| 新源县| 葫芦岛市| 宿松县| 山西省| 宜黄县| 喀什市| 从江县| 黄龙县| 宁海县| 卓尼县| 柯坪县| 灌南县| 蓝田县| 体育| 辉县市| 个旧市| 洛浦县| 汤阴县| 江永县| 济南市| 金阳县| 新邵县| 宜川县| 东方市| 巢湖市| 锡林浩特市| 石景山区| 滨海县| 荥经县| 时尚| 额敏县| 凌源市|