My friends and I have puzzled over this statement in Java after seeing it and the answer. How does this work?
System.out.printf("%d", 077);
equals 63?
077 is an octal number which equals 7 x 81 + 7 x 80 which is 63 decimal. To display the octal value you could do
System.out.printf("%o", 077);
When you define an literal integer number with a 0 prefix, the compiler will treat it as an integer base 8. (Octal).
Check at this post http://rodrigosasaki.com/2013/06/10/number-literals-in-java/
So, 77 value in Octal base is actually 63 in Decimal base.
printf.