Pitfall - Octal literals
suggest changeConsider the following code snippet:
// Print the sum of the numbers 1 to 10
int count = 0;
for (int i = 1; i < 010; i++) {    // Mistake here ....
    count = count + i;
}
System.out.println("The sum of 1 to 10 is " + count);
	A Java beginner might be surprised to know that the above program prints the wrong answer. It actually prints the sum of the numbers 1 to 8.
The reason is that an integer literal that starts with the digit zero (‘0’) is interpreted by the Java compiler as an octal literal, not a decimal literal as you might expect. Thus, 010 is the octal number 10, which is 8 in decimal.
  Found a mistake? Have a question or improvement idea?
  Let me know.
      
      Table Of Contents