按JLS §3.10.1int類型的最大十進制數字是2147483648或2147483647?
最大的十進制文本類型爲int的是2147483648
可這個說法被認爲是正確的,因爲Integer.MAX_VALUE
是2147483647
?
請注意,上述聲明中的重點是「int」。如果有人認爲它是在「十進制文字」的背景下討論的,那麼即使是2147483649
等等也應該如此。
因此,如果東西是int
類型,那麼其最大值必須是2147483647
。
我得到了錯誤還是該語句應該更新?
我不確定我是否理解你的問題,但似乎在你的引用後面的兩個短段落闡明瞭這個問題。從JLS中的同一節開始:**如果十進制文字2147483648出現在非一元減運算符的操作數之外的任何地方,則爲編譯時錯誤;或者如果一個int類型的十進制文字大於2147483648(231)。** – alfasin
@alfasin但是這樣做會使這個陳述有效,我懷疑嗎?我在這個陳述上的問題,如果在這個陳述「一元減號運算符」甚至被談論,然後我能理解。所以,它明顯含糊不清。 – hagrawal
現在,你正在把事情從他們的上下文中提取出來......這個部分應該作爲一個整體來理解,句子結束的事實並不意味着上下文的效果。讀下面的句子可以澄清,'2147483648'是最大的十進制文字 - 它只有在負運算符在它之前有效。 – alfasin