long value with 0 on left
问题 Why this behavior happens? long value = 123450; System.out.println("value: " + value); value: 123450 long value = 0123450; // ^ System.out.println("value: " + value); value: 42792 What is this 42792? 回答1: Why this behavior happens? Just as literals starting with 0x are treated as hexadecimal numbers (base 16), literals starting with a 0 are treated as octal numbers, i.e., numbers in base 8. (Try writing 0789, and you'll see that the compiler will complain.) What is this 42792? The number