5 回答

TA貢獻(xiàn)41條經(jīng)驗(yàn) 獲得超38個贊
這個地方是需要考慮的是int類型數(shù)據(jù)范圍值
int ? -2147483648~2147483647
這是個很玄妙的東西,數(shù)據(jù)溢出之后數(shù)據(jù)會再次跑一圈。
具體的內(nèi)容你需要查閱 反碼 補(bǔ)碼 位運(yùn)算 相信你看為這個內(nèi)容就會明白了。

TA貢獻(xiàn)238條經(jīng)驗(yàn) 獲得超101個贊
int類型數(shù)據(jù)時有范圍的,這部分你可以查一下,很神奇的,不好描述,其實(shí)數(shù)一直在一個圈中循環(huán)

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超6個贊
建議您看下數(shù)據(jù)類型轉(zhuǎn)換!java是強(qiáng)類型語言,所以每種數(shù)據(jù)類型都有規(guī)定好的值(容量),當(dāng)你運(yùn)算的數(shù)據(jù)類型超出自身所能容納的數(shù)值時,它會將超出的位數(shù)截掉(期間做了二進(jìn)制轉(zhuǎn)換,正數(shù)高數(shù)為0,負(fù)數(shù)為1),所以結(jié)果就是你看到的負(fù)數(shù)!(解釋或許不清楚,建議你查下資料)

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個贊

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個贊
int?x?=?80000000; while(x?>?0)?{ ????x++; }????????????//跳不出循環(huán)。 System.out.println("x?is?:"+x);

TA貢獻(xiàn)245條經(jīng)驗(yàn) 獲得超106個贊
你的代碼有問題,while x>0 恒成立,所以你的代碼會直接死循環(huán),所以結(jié)果為無窮大。
希望對你有幫助,祝你學(xué)習(xí)愉快。
添加回答
舉報(bào)