Consider this code:
int x = 17;
int y = 013;
System.out.println(\"x+y = \" + x + y);
When I run this code I get the output 1711. Can anybod
Numbers prefixed with 0 are octal. 13 Octal is 11 decimal.
The x + y call treats both paramters as strings, so you are combining the string "17" and "11".
everyone mentioned 0
makes the number octal.
I just want to add that 0x
makes it hexadecimal
013 is ocatal ... convert it to decimal and you will get 11. Have a look here for an explanation of the octal system.
I would just add to Reed's explanation that 013 is interpreted as Octal 13, which is decimal 11.