第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

求大神指導(dǎo)這神馬回事呀。。。

public static void main(String[] args) {
???? //short類型變量,內(nèi)存中2個字節(jié)
???? short s = 1;
???? /*
?????? 出現(xiàn)編譯失敗
?????? s和1做運算的時候,1是int類型,s會被提升為int類型
?????? s+1后的結(jié)果是int類型,將結(jié)果在賦值會short類型時發(fā)生錯誤
?????? short內(nèi)存2個字節(jié),int類型4個字節(jié)
?????? 必須將int強(qiáng)制轉(zhuǎn)成short才能完成賦值
???? */
???? s = s + 1;//編譯失敗
???? s = (short)(s+1);//編譯成功
}


大神,這道題中:s=s+1 里面的1 怎么是int的型的呢??

short 占2個字節(jié),難道1 不止兩個字節(jié)有4個字節(jié)?那short是短整型還能存啥嘛。。。

正在回答

5 回答

首先,整數(shù)值默認(rèn) 就是int類型,除此之外還有兩種特殊情況:
1.如果直接將較小的整數(shù)值(在byte或short類型的表數(shù)范圍內(nèi))賦給一個byte或short變量,系統(tǒng)會自動把這個整數(shù)值當(dāng)成byte或short類型來處理
2.如果使用一個巨大的整數(shù)值(超出了int類型的表數(shù)范圍)時,Java不會自動把這個整數(shù)值當(dāng)成long類型來處理,如果希望系統(tǒng)把這個整數(shù)值當(dāng)成long類型來處理,應(yīng)在這個整數(shù)值后增加英文字母l或者L作為后綴。

再分析題主的問題:

short s =1;這時的s是short類型。

s+1時,(s+1)自動轉(zhuǎn)換為int類型,

所以s=s+1編譯報錯,int類型不能自動轉(zhuǎn)換為short。


3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

180416

這個答案看不懂,表數(shù)范圍是整數(shù)范圍嗎,1是在short和byte范圍里面的,那為什么它就不行。
2019-01-10 回復(fù) 有任何疑惑可以回復(fù)我~

1被默認(rèn)為int類型,兩個short型和int不能直接加

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕數(shù)據(jù)4870589

兩個類型不能直接加
2018-12-04 回復(fù) 有任何疑惑可以回復(fù)我~

默認(rèn)的

0 回復(fù) 有任何疑惑可以回復(fù)我~

這是默認(rèn)的;

小于32位的變量都按int結(jié)果計算;

強(qiáng)制轉(zhuǎn)換會損失精度;

short不常用,建議用int

0 回復(fù) 有任何疑惑可以回復(fù)我~

不知道


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學(xué)習(xí)       1167329    人
  • 解答問題       18530    個

0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語法開始

進(jìn)入課程

求大神指導(dǎo)這神馬回事呀。。。

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號