2016-01-02 88 views

回答

4

在Java SE 7和以後,任何數目的下劃線字符(_)之間可以出現在任何地方數字字面上的數字。該功能使您能夠分隔數字文字中的數字組,從而提高代碼的可讀性。

例如,如果您的代碼包含具有許多數字的數字,則可以使用下劃線字符以三個一組來分隔數字,這與使用逗號或空格等標點符號作爲分隔符類似。

下面的示例演示等方式,你可以使用下劃線的數字文字:

long creditCardNumber = 1234_5678_9012_3456L; 
long socialSecurityNumber = 999_99_9999L; 
float pi = 3.14_15F; 

注:您可以將強調只有數字之間。

你不能把下劃線在以下地方:

  • 在數字的開頭或結尾
  • 毗鄰浮點字面小數點
  • 此前的FD ,或者L後綴
  • 在預期數字串的位置

以下是下劃線的展示位置的一些有效和無效的例子:

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 

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) 

我希望這將滿足您的要求。

+0

感謝您的幫助,我很滿意! – cfgbd

+0

這似乎是遲緩的想法,它看起來更糟糕,仍然不明白爲什麼_不能用作標識符...... – Enerccio

+0

這不是爲什麼'_'在Java 8中保留的原因。你仍然可以使用'__'等標識符。從上下文中可以清楚地看出'_'是否顯示爲變量名或數字標識符。原因在於Java 8引入的lambda表達式和'_'應該在將來的Java版本中用作忽略參數的佔位符(可惜尚未實現)。 –