jjn*_*guy 10 java int division octal
我正在做非常简单的int划分,我得到奇怪的结果.
此代码2按预期打印:
public static void main(String[] args) {
int i = 200;
int hundNum = i / 100;
System.out.println(hundNum);
}
Run Code Online (Sandbox Code Playgroud)
此代码打印1为不期望:
public static void main(String[] args) {
int i = 0200;
int hundNum = i / 100;
System.out.println(hundNum);
}
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
(Windows XP Pro,在Eclipse 3.4.1中运行的Java 1.6)
Gre*_*ill 22
该值0200是八进制(基数为8)常量.它等于128(十进制).
八进制数字由ASCII数字0后跟一个或多个ASCII数字0到7组成,并且可以表示正整数,零整数或负整数.