JDK 7 _ for numeric literals feature is only for the sake of readability. As per docs:
In Java SE 7 and later, any number of underscore characters (_) can
appear anywhere between digits in a numerical literal. This feature
enables you, for example, to separate groups of digits in numeric
literals, which can improve the readability of your code.
In Java SE 7 and later, any number of underscore characters (_) can
appear anywhere between digits in a numerical literal. This feature
enables you, for example, to separate groups of digits in numeric
literals, which can improve the readability of your code.
Try this:
int num = 111_222;
System.out.println(num); //Prints 111222
This feature was added due to the fact that long numbers can be hard to read sometimes, so instead of counting how many "zeros" a number has to figure out if it's a million or one hundred thousand, you can do:
int myNum = 1_000_000;
Now it's easy to see that there is two groups of 3 zeros, and clearly the number is million. Compare it with:
The underscore is completely ignored in Integer literals. It may be added to, for example, group digits in long numbers in groups of 3 (like you do in texts).
In Java SE 7 and later, any number of underscore characters (_) can appear anywhere between digits in a numerical literal. This feature enables you, for example, to separate groups of digits in numeric literals, which can improve the readability of your code.
For instance, if your code contains numbers with many digits, you can
use an underscore character to separate digits in groups of three,
similar to how you would use a punctuation mark like a comma, or a
space, as a separator.