public class Example {
public static void main(String args[]) {
int a = 0153;
int b=a;
System.out.println(""+b);
}
}
107
で、なぜ153
ではないのか説明できますか? 107のJavaで整数を代入する
public class Example {
public static void main(String args[]) {
int a = 0153;
int b=a;
System.out.println(""+b);
}
}
107
で、なぜ153
ではないのか説明できますか? 107のJavaで整数を代入する
オクタル・Javaで0153
あなたは、単にこのような先行ゼロ追加することにより、進リテラルを作成することができます:int型、A = 0755;注意してください! 8進リテラルを指定するのは非常に一般的です
0
で始まる番号はJavaで8進数と見なされるため、非常に一般的です。 0153
(8進数)は107
(10進数)です。
8進数として書き込み、デフォルト値を10進数に出力します。
Input Prints (decimal)
Decimal 153 153
^
No leading zero (digits 0-9)
Octal 0153 107
^
leading zero (digits 0-7)
Hex 0x153 339
^^
leading 0x (digits 0-F)
「0153」は8進数とみなされるためです。 @Lionが正しくあります。 – Lion
Java仕様の「整数リテラル」のセクションを参照してください。http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.1 – NullUserException