課程
/后端開發(fā)
/Java
/Java入門第二季 升級(jí)版
為什么要進(jìn)行類型轉(zhuǎn)換呢?
2016-03-14
源自:Java入門第二季 升級(jí)版 10-2
正在回答
因?yàn)橛?jì)算機(jī)對(duì)不同的數(shù)據(jù)類型有不同的保存方式,例如:int(整型) 類型在32位計(jì)算機(jī)中,占4位。而double(雙精度)類型在32位計(jì)算機(jī)中,占8位。當(dāng)高位轉(zhuǎn)向低位的時(shí)候,如果不進(jìn)行類型轉(zhuǎn)換,就會(huì)造成數(shù)據(jù)溢出。為保護(hù)數(shù)據(jù)信息,需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。
qq_岳飛_0 提問者
對(duì)于Java來說,對(duì)象就是數(shù)據(jù)類型準(zhǔn)確點(diǎn)說就是結(jié)構(gòu)體名稱,父類和子類的關(guān)系就像是C中 double 和int 類型 ,如果int 類型轉(zhuǎn)換成 double 是可以直接轉(zhuǎn)換的 因?yàn)?dounle 占8個(gè)字節(jié),int 占 4個(gè)字節(jié) 是不會(huì)對(duì)double 數(shù)據(jù)造成不良影響的,相反 如果 double 類型轉(zhuǎn)換成 int ?類型就會(huì)造成數(shù)據(jù)的溢出,造成數(shù)據(jù)的丟失;而父類的兩個(gè)子類 就像是 代表兩個(gè) 結(jié)構(gòu)體,兩個(gè) 結(jié)構(gòu)體內(nèi)部的變量是不同的 ,因此代表不同的 數(shù)據(jù)類型;Animal animal = dog;說明了animal 是和dog 數(shù)據(jù)類型相同的,如果要相 animal = cat 這就不行了,因?yàn)閍nimal已經(jīng)指向了dog類型;而dog和cat 類型優(yōu)勢(shì)不同的 所以 再次 animal = cat賦值就是不行的?
打個(gè)比方 ?你準(zhǔn)備買一百塊的東西 ,半路上改了主意 想買一個(gè)五塊錢的東西 ?找回95塊就是向下轉(zhuǎn)換 ?當(dāng)然你不找錢也行有錢嘛。相反 你只有五塊錢 但是想買一百塊的東西 怎么辦?只能強(qiáng)迫老板賣五塊錢啦!不喜勿噴
不同數(shù)據(jù)有不同數(shù)據(jù)的保存類型。數(shù)據(jù)間的處理就需要不同的數(shù)據(jù)類型。
有些是必須的有些事不必要的例如 double b=5.4;int ?a=b/3;這個(gè)編譯器就會(huì)報(bào)錯(cuò) ?這種情況是必須進(jìn)行轉(zhuǎn)化的
老師不是講過 ?(大類型轉(zhuǎn)化成小類型即自下而上的容易出錯(cuò) 這個(gè)時(shí)候就需要強(qiáng)制 ?當(dāng)然有時(shí)候強(qiáng)制也會(huì)出錯(cuò))
而小類型轉(zhuǎn)化成大類型則不會(huì)出錯(cuò)即自上而下
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
3 回答為什么要進(jìn)行引用類型的轉(zhuǎn)換
2 回答無法進(jìn)行類型轉(zhuǎn)換
1 回答何時(shí)進(jìn)行類型轉(zhuǎn)換?
1 回答為什么Cat類型無法轉(zhuǎn)換呢?
3 回答既然類型相同了,為什么還要強(qiáng)制轉(zhuǎn)換成Dog類型呢
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-03-14
因?yàn)橛?jì)算機(jī)對(duì)不同的數(shù)據(jù)類型有不同的保存方式,例如:int(整型) 類型在32位計(jì)算機(jī)中,占4位。而double(雙精度)類型在32位計(jì)算機(jī)中,占8位。當(dāng)高位轉(zhuǎn)向低位的時(shí)候,如果不進(jìn)行類型轉(zhuǎn)換,就會(huì)造成數(shù)據(jù)溢出。為保護(hù)數(shù)據(jù)信息,需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。
2016-05-23
對(duì)于Java來說,對(duì)象就是數(shù)據(jù)類型準(zhǔn)確點(diǎn)說就是結(jié)構(gòu)體名稱,父類和子類的關(guān)系就像是C中 double 和int 類型 ,如果int 類型轉(zhuǎn)換成 double 是可以直接轉(zhuǎn)換的 因?yàn)?dounle 占8個(gè)字節(jié),int 占 4個(gè)字節(jié) 是不會(huì)對(duì)double 數(shù)據(jù)造成不良影響的,相反 如果 double 類型轉(zhuǎn)換成 int ?類型就會(huì)造成數(shù)據(jù)的溢出,造成數(shù)據(jù)的丟失;而父類的兩個(gè)子類 就像是 代表兩個(gè) 結(jié)構(gòu)體,兩個(gè) 結(jié)構(gòu)體內(nèi)部的變量是不同的 ,因此代表不同的 數(shù)據(jù)類型;Animal animal = dog;說明了animal 是和dog 數(shù)據(jù)類型相同的,如果要相 animal = cat 這就不行了,因?yàn)閍nimal已經(jīng)指向了dog類型;而dog和cat 類型優(yōu)勢(shì)不同的 所以 再次 animal = cat賦值就是不行的?
2016-03-31
打個(gè)比方 ?你準(zhǔn)備買一百塊的東西 ,半路上改了主意 想買一個(gè)五塊錢的東西 ?找回95塊就是向下轉(zhuǎn)換 ?當(dāng)然你不找錢也行有錢嘛。相反 你只有五塊錢 但是想買一百塊的東西 怎么辦?只能強(qiáng)迫老板賣五塊錢啦!不喜勿噴
2016-03-14
不同數(shù)據(jù)有不同數(shù)據(jù)的保存類型。數(shù)據(jù)間的處理就需要不同的數(shù)據(jù)類型。
2016-03-14
有些是必須的有些事不必要的例如 double b=5.4;int ?a=b/3;這個(gè)編譯器就會(huì)報(bào)錯(cuò) ?這種情況是必須進(jìn)行轉(zhuǎn)化的
老師不是講過 ?(大類型轉(zhuǎn)化成小類型即自下而上的容易出錯(cuò) 這個(gè)時(shí)候就需要強(qiáng)制 ?當(dāng)然有時(shí)候強(qiáng)制也會(huì)出錯(cuò))
而小類型轉(zhuǎn)化成大類型則不會(huì)出錯(cuò)即自上而下