摘要:基本類型的類型轉(zhuǎn)換隱式類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換基本類型的強(qiáng)制轉(zhuǎn)換所謂強(qiáng)制類型轉(zhuǎn)換是根據(jù)程序員的意志來(lái)進(jìn)行類型變換的處理。將變量轉(zhuǎn)換為存儲(chǔ)領(lǐng)域強(qiáng)制轉(zhuǎn)換為更窄的場(chǎng)合,待變換的數(shù)據(jù)可能發(fā)生溢出。強(qiáng)制轉(zhuǎn)換數(shù)據(jù)溢出運(yùn)行結(jié)果更新日
基本類型的類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換)和強(qiáng)制類型轉(zhuǎn)換 基本類型的強(qiáng)制轉(zhuǎn)換
所謂強(qiáng)制類型轉(zhuǎn)換(CAST)是根據(jù)程序員的意志來(lái)進(jìn)行類型變換的處理。如果隱式類型轉(zhuǎn)化無(wú)法進(jìn)行的場(chǎng)合,使用強(qiáng)制類型轉(zhuǎn)換。用“( )”包圍需要強(qiáng)制轉(zhuǎn)換的類型,然后將其放在需要轉(zhuǎn)換的變量之前。
(変換したい型)変換元の変數(shù);
【例3】強(qiáng)制轉(zhuǎn)換的例子。
int x = 10; byte y = (byte)x;
將int類型的變量強(qiáng)制轉(zhuǎn)換為byte類型,然后賦值給y。
如果是默認(rèn)的隱式類型轉(zhuǎn)換是無(wú)法將int類型轉(zhuǎn)換為byte類型的。
boolean類型以外的基本類型的變量可以強(qiáng)制轉(zhuǎn)換為其他非boolean類型的基本類型的變量。不管是將變量強(qiáng)制轉(zhuǎn)換為存儲(chǔ)區(qū)域更大的類型,還是將變量轉(zhuǎn)換為存儲(chǔ)區(qū)域更小的類型,都是可以。將變量強(qiáng)制轉(zhuǎn)換為存儲(chǔ)區(qū)域更大的時(shí)候,即使不進(jìn)行強(qiáng)制轉(zhuǎn)換,隱式的類型變換也是可以進(jìn)行的。
boolean類型無(wú)法強(qiáng)制轉(zhuǎn)換為其他類型。
將變量轉(zhuǎn)換為存儲(chǔ)領(lǐng)域強(qiáng)制轉(zhuǎn)換為更窄的場(chǎng)合,待變換的數(shù)據(jù)可能發(fā)生溢出。
【例4】強(qiáng)制轉(zhuǎn)換數(shù)據(jù)溢出的實(shí)例。
public class ExVar1 { public static void main(String[] args) { short x = 257; byte y = (byte)x; //(1)強(qiáng)制轉(zhuǎn)換為byte類型 System.out.println(y); //(2) } }
說(shuō)明4
(1)將short類型的變量強(qiáng)制轉(zhuǎn)換為byte類型,然后將byte類型變量賦值給y。
(2)用println方法打印變量y的值。byte類型的變量最多制定存儲(chǔ)一個(gè)字節(jié)的值(有符號(hào),-128~127)。超過(guò)1個(gè)字節(jié)的數(shù)據(jù)被截?cái)啵〝?shù)據(jù)溢出)。因?yàn)檫@個(gè)原因無(wú)法得到想要的結(jié)果。
強(qiáng)制轉(zhuǎn)換_數(shù)據(jù)溢出
運(yùn)行結(jié)果4
D:JAVA>javac ExVar1.java D:JAVA>java ExVar1 1 D:JAVA>
更新日:2012/02/18
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/68561.html
摘要:基本類型的類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換一的變量類型分為種。目錄基本類型的類型轉(zhuǎn)換隱式類型轉(zhuǎn)換基本類型的強(qiáng)制類型轉(zhuǎn)換基本類型的類型轉(zhuǎn)換隱式類型轉(zhuǎn)換基本類型的類型轉(zhuǎn)換是通過(guò)擴(kuò)展轉(zhuǎn)換的規(guī)則完成的。 基本類型的類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換(一) Java的變量類型分為2種。基本類型(原始類型)和引用類型。基本類型包括以下八種類型:boolean、 char、byte、short、int、long、floa...
摘要:如果有并且返回基本類型值,再使用該值進(jìn)行強(qiáng)制類型轉(zhuǎn)換。四寬松相等和嚴(yán)格相等允許在相等比較中進(jìn)行強(qiáng)制類型轉(zhuǎn)換,而不允許。這時(shí)最好用來(lái)避免不經(jīng)意的強(qiáng)制類型轉(zhuǎn)換。這兩個(gè)原則可以讓我們避開(kāi)幾乎所有強(qiáng)制類型轉(zhuǎn)換的坑。 一、類型轉(zhuǎn)換規(guī)則 1.ToString 對(duì)于普通對(duì)象來(lái)說(shuō),除非自行定義toString方法,否則就會(huì)調(diào)用Object.prototype.toString()方法,如果對(duì)象有自己的...
摘要:強(qiáng)制類型轉(zhuǎn)換作為程序員,你一定獲取過(guò)當(dāng)前系統(tǒng)的時(shí)間戳。比如對(duì)于變量而言,此次強(qiáng)制類型轉(zhuǎn)換是隱式的。然而則是非常典型的顯式強(qiáng)制類型轉(zhuǎn)換。隱式強(qiáng)制類型轉(zhuǎn)換大部分被詬病的強(qiáng)制類型轉(zhuǎn)換都是隱式強(qiáng)制類型轉(zhuǎn)換。 JavaScript 強(qiáng)制類型轉(zhuǎn)換 作為 JavaScript 程序員,你一定獲取過(guò)當(dāng)前系統(tǒng)的時(shí)間戳。在 ES5 引入 Date.now() 靜態(tài)方法之前,下面這段代碼你一定不會(huì)陌生: v...
摘要:顯示的調(diào)用轉(zhuǎn)換過(guò)程稱為顯式強(qiáng)制類型轉(zhuǎn)換,隱式的情況稱為隱式強(qiáng)制類型轉(zhuǎn)換。隱式強(qiáng)制類型轉(zhuǎn)換讓代碼變得晦澀難懂而又便捷而奇妙。事實(shí)上,允許在比較中進(jìn)行強(qiáng)制類型轉(zhuǎn)換,而不允許。如果有并且返回基本類型值,就使用該值進(jìn)行強(qiáng)制類型轉(zhuǎn)換。 JavaScript是一種非常靈活的現(xiàn)代編程語(yǔ)言,靈活到使用者極其容易被忽視的它那廣闊的世界以及它帶給我們的無(wú)限遐想空間。本文將對(duì)JavaScript最最基礎(chǔ)也最...
摘要:隱式強(qiáng)制類型轉(zhuǎn)換指的是那些隱藏的強(qiáng)制類型轉(zhuǎn)換,副作用也不是很明顯,事實(shí)上,只要自己覺(jué)得不夠明顯的強(qiáng)制類型轉(zhuǎn)換都可以算作隱式強(qiáng)制類型轉(zhuǎn)換,接下來(lái),此文將會(huì)介紹幾種常見(jiàn)的隱式類型轉(zhuǎn)換。 隱式強(qiáng)制類型轉(zhuǎn)換指的是那些隱藏的強(qiáng)制類型轉(zhuǎn)換,副作用也不是很明顯,事實(shí)上,只要自己覺(jué)得不夠明顯的強(qiáng)制類型轉(zhuǎn)換都可以算作隱式強(qiáng)制類型轉(zhuǎn)換,接下來(lái),此文將會(huì)介紹幾種常見(jiàn)的隱式類型轉(zhuǎn)換。 加法操作符 轉(zhuǎn)換規(guī)則: ...
閱讀 1357·2021-11-24 09:39
閱讀 1346·2021-11-04 16:12
閱讀 2686·2021-09-24 09:47
閱讀 3337·2021-09-01 10:50
閱讀 1477·2019-08-30 15:55
閱讀 1423·2019-08-30 15:43
閱讀 642·2019-08-30 11:08
閱讀 3578·2019-08-23 18:33