This question already has answers here:
Why are integer literals with leading zeroes interpreted strangely?
(8个答案)
Why is 09 “too large” of an integer number? [duplicate]
(5个答案)
6年前关闭。
我在以下几行出现错误:“类型不匹配:无法从int转换为short”
但不在
为什么会这样呢。
(8个答案)
Why is 09 “too large” of an integer number? [duplicate]
(5个答案)
6年前关闭。
我在以下几行出现错误:“类型不匹配:无法从int转换为short”
short a;
a=09;
但不在
a=9;
为什么会这样呢。
最佳答案
在数字前使用0表示八进制。您只能在00到07之间使用它,因此您无法进行转换(它也不能与int一起使用,因为它超出了范围,即使它看起来像试图进行隐式转换也是如此)。
从计算上来说,09只是一个不存在的数字。
关于java - 以下列方式提供值时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17675551/
10-13 01:11