亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

徹底理解Java中的基本數(shù)據(jù)類型轉(zhuǎn)換(自動(dòng)、強(qiáng)制、提升)

VioletJack / 3533人閱讀

摘要:說(shuō)基本數(shù)據(jù)類型轉(zhuǎn)換之前,先了解下中的種基本數(shù)據(jù)類型,以及它們的占內(nèi)存的容量大小和表示的范圍,如下圖所示。自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換是指數(shù)字表示范圍小的數(shù)據(jù)類型可以自動(dòng)轉(zhuǎn)換成范圍大的數(shù)據(jù)類型。

說(shuō)基本數(shù)據(jù)類型轉(zhuǎn)換之前,先了解下 Java 中的 8 種基本數(shù)據(jù)類型,以及它們的占內(nèi)存的容量大小和表示的范圍,如下圖所示。

重新溫故了下原始數(shù)據(jù)類型,現(xiàn)在來(lái)解釋下它們之間的轉(zhuǎn)換關(guān)系。

自動(dòng)類型轉(zhuǎn)換

自動(dòng)類型轉(zhuǎn)換是指:數(shù)字表示范圍小的數(shù)據(jù)類型可以自動(dòng)轉(zhuǎn)換成范圍大的數(shù)據(jù)類型。

如:

long l = 100;

int i = 200;
long ll = i;

具體自動(dòng)轉(zhuǎn)換如如下圖所示。

實(shí)線表示自動(dòng)轉(zhuǎn)換時(shí)不會(huì)造成數(shù)據(jù)丟失,虛線則可能會(huì)出現(xiàn)數(shù)據(jù)丟失問(wèn)題。

自動(dòng)轉(zhuǎn)換也要小心數(shù)據(jù)溢出問(wèn)題,看下面的例子。

int count = 100000000;
int price = 1999;
long totalPrice = count * price;

編譯沒(méi)任何問(wèn)題,但結(jié)果卻輸出的是負(fù)數(shù),這是因?yàn)閮蓚€(gè) int 相乘得到的結(jié)果是 int, 相乘的結(jié)果超出了 int 的代表范圍。這種情況,一般把第一個(gè)數(shù)據(jù)轉(zhuǎn)換成范圍大的數(shù)據(jù)類型再和其他的數(shù)據(jù)進(jìn)行運(yùn)算。

int count = 100000000;
int price = 1999;
long totalPrice = (long) count * price;

另外,向下轉(zhuǎn)換時(shí)可以直接將 int 常量字面量賦值給 byte、short、char 等數(shù)據(jù)類型,而不需要強(qiáng)制轉(zhuǎn)換,只要該常量值不超過(guò)該類型的表示范圍都能自動(dòng)轉(zhuǎn)換。

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

強(qiáng)制類型轉(zhuǎn)換我們?cè)偾宄贿^(guò)了,即強(qiáng)制顯示的把一個(gè)數(shù)據(jù)類型轉(zhuǎn)換為另外一種數(shù)據(jù)類型。

如:

short s = 199;
int i = s;// 199

double d = 10.24;
long ll = (long) d;// 10

以上的轉(zhuǎn)換結(jié)果都在我們的預(yù)期之內(nèi),屬于正常的轉(zhuǎn)換和丟失精度的情況,下面的例子就一樣屬于數(shù)據(jù)溢出的情況。

int ii = 300;
byte b = (byte)ii;

300 已經(jīng)超出了 byte 類型表示的范圍,所以會(huì)轉(zhuǎn)換成一個(gè)毫無(wú)意義的數(shù)字。

類型提升

所謂類型提升就是指在多種不同數(shù)據(jù)類型的表達(dá)式中,類型會(huì)自動(dòng)向范圍表示大的值的數(shù)據(jù)類型提升。

把上面的溢出的例子再改下。

long count = 100000000;
int price = 1999;
long totalPrice = price * count;

price 為 int 型,count 為 long 型,運(yùn)算結(jié)果為 long 型,運(yùn)算結(jié)果正常,沒(méi)有出現(xiàn)溢出的情況。

推薦:Spring Boot & Cloud 最強(qiáng)技術(shù)教程

掃描關(guān)注我們的微信公眾號(hào),干貨每天更新。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71266.html

相關(guān)文章

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

    摘要:基本類型包括類型和數(shù)值類型。基本類型的類型轉(zhuǎn)換當(dāng)把一個(gè)表數(shù)范圍小的數(shù)值或變量直接賦給另一個(gè)表數(shù)范圍大的變量時(shí),系統(tǒng)可以進(jìn)行自動(dòng)類型轉(zhuǎn)換。整個(gè)算術(shù)表達(dá)式的數(shù)據(jù)類型自動(dòng)提升到與表達(dá)式中最高等級(jí)操作數(shù)同樣的類型 數(shù)據(jù)類型分類 Java語(yǔ)言是強(qiáng)類型語(yǔ)言,意思是每個(gè)變量和每個(gè)表達(dá)式都有一個(gè)在編譯時(shí)就確定的類型,所以所有變量必須顯示聲明類型,也就是說(shuō),所有的變量必須先聲明,后使用。Java語(yǔ)言支持...

    cocopeak 評(píng)論0 收藏0
  • Java 數(shù)據(jù)類型和運(yùn)算符

    摘要:基本數(shù)據(jù)類型布爾類型或,占用位。強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換的語(yǔ)法格式是,強(qiáng)制類型轉(zhuǎn)換的運(yùn)算符是圓括號(hào)。無(wú)符號(hào)右移運(yùn)算符。對(duì)于低于類型如和的操作數(shù)總是先自動(dòng)類型轉(zhuǎn)換為類型后再移位。 注釋 單行注釋//......多行注釋/ .../文檔注釋/*.../ 文檔注釋位于注釋內(nèi)容上一行 標(biāo)識(shí)符和關(guān)鍵字 分隔符 分號(hào):作為語(yǔ)句的分隔,每個(gè)Java語(yǔ)句必須使用分號(hào)作為結(jié)尾。花括號(hào):定義一個(gè)代碼...

    archieyang 評(píng)論0 收藏0
  • Java編程基礎(chǔ)02——Java語(yǔ)言基礎(chǔ)

    摘要:所以就想把一大串縮短點(diǎn),將二進(jìn)制中的三位用一位表示。以可以大寫也可以小寫開頭版本可以表示二進(jìn)制了八進(jìn)制的數(shù)據(jù)表現(xiàn)形式由組成。結(jié)果把系數(shù)基數(shù)的權(quán)次冪相加即可。因?yàn)檎Z(yǔ)言采用的是碼來(lái)編碼的。 1_(常量的概述和使用)* A:什么是常量(constant) 在程序執(zhí)行的過(guò)程中其值不可以發(fā)生改變 B:Java中常量的分類 字面值常量 自定義常量(面向?qū)ο蟛糠种v) C:字面值常量的...

    pakolagij 評(píng)論0 收藏0
  • Java各種數(shù)據(jù)類型,自己學(xué)習(xí)寫的筆記?。?!

    摘要:局部變量聲明在函數(shù)內(nèi)部的變量。在作用域范圍內(nèi)不能出現(xiàn)命名沖突。 java編程規(guī)范: 1.良好的標(biāo)識(shí)符的命名 保留字不能作為標(biāo)識(shí)符命名: class、public、static..., goto,const 區(qū)分大小寫:helloWorld、HelloWorld 2.良好的注釋習(xí)慣 3.良好的縮進(jìn):沒(méi)遇到一個(gè)代碼塊縮進(jìn)一次(一個(gè)tab鍵) 變量:代...

    stefanieliang 評(píng)論0 收藏0
  • Java知識(shí)點(diǎn)總結(jié) (基本語(yǔ)法)

    摘要:強(qiáng)制類型轉(zhuǎn)換下標(biāo)運(yùn)算符變量與常量常量是在程序中的不會(huì)變化的數(shù)據(jù)變量其實(shí)就是內(nèi)存中的一個(gè)存儲(chǔ)空間,用于存儲(chǔ)數(shù)據(jù)。表示結(jié)束本次循環(huán),繼續(xù)下次循環(huán)。 Java知識(shí)點(diǎn)總結(jié) (基本語(yǔ)法) @(Java知識(shí)點(diǎn)總結(jié))[Java, Java基本語(yǔ)法] @(Java開發(fā))[Java基本語(yǔ)法] [toc] Java特點(diǎn) 簡(jiǎn)單自然平臺(tái)可移植性支持函數(shù)式編程JIT 編譯更好的并發(fā)編程健壯安全 執(zhí)行方式 編譯...

    tuantuan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<