請教java小問題?
這個問題看似簡單,但如果不實(shí)際測試可能還真會搞錯,最好的辦法是寫個Demo將各個值輸出,就能揣摩出其中的意思,咱們結(jié)合程序及輸出來分析下:
在Java中整形是有數(shù)據(jù)范圍的,其中最小值:Integer.MIN_VALUE是-2147483648。如果在此基礎(chǔ)上再減1,就會出現(xiàn)溢出現(xiàn)象,從輸出結(jié)果看已經(jīng)變成:2147483647。而(i-1L)返回是long長整形,再減去1,不會發(fā)生溢出正常計(jì)算,結(jié)果是:-2147483649。
(i-1):2147483647
(i-1L):-2147483649
所以,(i-1) + (i-1L)結(jié)果就是:-2。
上一篇HTML中無下劃線怎么打
下一篇air是什么文件