Java 7 Underscores in Numeric Literals

In this tutorial we are going to see underscores in numerical literals.

Note: In this tutorial some of code taken from Oracle official web site

In Java 7 any number of underscore character (_) can appear in anywhere between numerical literals.The underscore is only present in the representation of literals in Java code, it will not appear if you print the literal value.

Example

int i = 1000_1000;

Output

10001000

Examples to use underscore between numerical liters.

long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;

Rules to use underscores between literals

  1. Place the underscore only between numerical literals
  2. you cannot place the underscore in the following places
  3. At beginning or end of number.
  4. Adjective to decimal point in a floating point literal.
  5. Prior to L or F suffix
  6. In position where String of digits is expected

Example of valid and invalid underscore placement given below

float pi1 = 3_.1415F; // Invalid; cannot put underscores adjacent to a decimal point

float pi2 = 3._1415F; // Invalid; cannot put underscores adjacent to a decimal point

long socialSecurityNumber1 = 999_99_9999_L; // Invalid; cannot put underscores prior to an L suffix

int x1 = _52; // This is an identifier, not a numeric literal

int x2 = 5_2; // OK (decimal literal)

int x3 = 52_; // Invalid; cannot put underscores at the end of a literal

int x4 = 5_______2; // OK (decimal literal)

int x5 = 0_x52; // Invalid; cannot put underscores in the 0x radix prefix

int x6 = 0x_52; // Invalid; cannot put underscores at the beginning of a number

int x7 = 0x5_2; // OK (hexadecimal literal)

int x8 = 0x52_; // Invalid; cannot put underscores at the end of a number

int x9 = 0_52; // OK (octal literal)

int x10 = 05_2; // OK (octal literal)

int x11 = 052_; // Invalid; cannot put underscores at the end of a number

Note: In this tutorial some of code taken from Oracle official web site


Posts You may Like

  1. How to validate MAC Address using Java Regular Expression
  2. Java 7 new features
  3. How to read simple XML file using DOM Parser
  4. Java Best Practice Programming Practices
  5. How to find parent directory of file using Java
  6. Log4j Example using XML configuration
  7. Java Best Practice Comments
  8. How to rename the file using Java
  9. Convert Map to JSON using Jackson 1.x
  10. How to configure Maven to use Java 8
  11. Create Pretty Print JSON using GSON
  12. How to convert JSON to Java Object using Jackson 1.x
  13. Java DOM XML Parser
  14. Java 8 Sort Map by Key
  15. How to Read XML File using DOM parser

Be the first to comment

Leave a Reply

Your email address will not be published.


*