国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

short s1 = 1; s1 = s1 + 1;有錯(cuò)嗎?short s1 = 1; s1 += 1;有錯(cuò)嗎?

2022-06-27 11:25 作者:網(wǎng)星軟件  | 我要投稿

先說一下Java的基本數(shù)據(jù)類型轉(zhuǎn)換規(guī)則,大的數(shù)據(jù)類型轉(zhuǎn)換為小的數(shù)據(jù)類型需要強(qiáng)制轉(zhuǎn)換,反之可以自動轉(zhuǎn)換。

賦值表達(dá)式等號兩側(cè)的轉(zhuǎn)換的規(guī)則是右側(cè)的向左側(cè)的看齊,即右側(cè)表達(dá)式要轉(zhuǎn)換到和左邊的類型一樣。

那么short s1 = 1; s1 = s1 + 1;的運(yùn)行就是錯(cuò)的。因?yàn)閟1 + 1中,s1是short類型,1是int型,s1會自動轉(zhuǎn)換為int型的1,與1相加后,得到int型的2,然后要向左側(cè)的short類型的s1看齊,即需要通過強(qiáng)制類型轉(zhuǎn)換將int型的結(jié)果轉(zhuǎn)換成short型才賦值給s1。正確寫法是:s1 = (short) (s1 + 1);。

接著short s1 = 1; s1 += 1;的運(yùn)行是正確的。因?yàn)閳?zhí)行s1+=1時(shí),其實(shí)執(zhí)行的是s1 = (short) (s1 + 1); 其中會有一個(gè)隱藏起來的強(qiáng)制轉(zhuǎn)換的過程,所以是運(yùn)行正確的。

最后short s1=1,s2=1;short s3=s1+s2;的運(yùn)行就是錯(cuò)的。這里是編譯器從數(shù)據(jù)安全方面考慮,如果s1和s2都是較大的short類型數(shù)據(jù)值,那么它們加起來就會超出short型的取值范圍,可能會導(dǎo)致溢出,所以會要求將short型強(qiáng)制轉(zhuǎn)換到int型。正確寫法是:short s3 = (int)s1 + s2;。

short s1 = 1; s1 = s1 + 1;有錯(cuò)嗎?short s1 = 1; s1 += 1;有錯(cuò)嗎?的評論 (共 條)

分享到微博請遵守國家法律
芒康县| 宜都市| 米林县| 新乡县| 三门县| 新田县| 永仁县| 泸西县| 治多县| 叶城县| 土默特左旗| 金阳县| 巩义市| 大余县| 成武县| 英超| 旬邑县| 锡林郭勒盟| 威信县| 达孜县| 镇安县| 汉阴县| 同仁县| 博野县| 乌拉特中旗| 崇明县| 黑水县| 九台市| 全南县| 茂名市| 东光县| 长岭县| 安阳县| 密云县| 竹溪县| 科技| 萝北县| 永春县| 湘阴县| 崇信县| 沙洋县|