为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线
JDK 1.7發行版引入了幾個有用的功能,盡管其中大多數都是語法糖,但使用該功能可以大大提高可讀性和代碼質量。 這樣的功能之一是在數字文字中引入下劃線 。 從Java 7開始,您可以在Java源代碼中向可讀性更高的10_000_000_000寫一個長數字,例如10000000000。 在數字文字中使用下劃線的最重要原因之一是避免了細微的錯誤,而這些細微的錯誤很難通過查看代碼來找出。 很難注意到在10000000000和1000000000之間缺少的零或多余的零,而不是10_000_000_000和1_000_000_000。 因此,如果您正在使用Java源代碼處理大量數字,請在數字中使用下劃線以提高可讀性 。 順便說一句,在數字文字中使用下劃線是有規則的,因為它們也是標識符中的有效字符,因此您只能在數字之間使用它們,而不能在數字文字的開頭或數字文字的末尾使用下劃線。 在下一部分中,我們將學習如何實現數字文字中的下劃線以及如何在數字文字中使用下劃線。
如何在Java中實現數字下劃線
就像我說的那樣,它是一種語法糖,就像在切換情況下如何實現String一樣,這也是在編譯器的幫助下實現的。 在編譯時,編譯器會刪除這些下劃線并將實際數字放入變量中。 例如10_000_000將在編譯時轉換為10000000。 由于CPU處理長數字串沒有問題,這對他很有趣,所以我們不必理會,就是我們這個貧窮的人遇到了處理長數字的問題。 此功能對于銀行和金融領域應用程序特別有用,該應用程序處理大筆錢,信用卡號,銀行帳號和其他處理較長ID的域。 盡管強烈建議不要在Java文件中寫入敏感數據,并且絕對不要在生產代碼中這樣做,但帶下劃線的數字比以前容易得多。
Java中在數字中使用下劃線的規則
Java編程語言對于在數字文字中使用下劃線具有嚴格的規則集。 如前所述,您只能在數字之間使用它們。 您不能以下劃線開頭或以下劃線結尾。 這是更多地方,您不能在數字文字中使用下劃線:
這是幾個示例,顯示了數字文字中下劃線的一些有效和無效用法
float pi1 = 3_.1415F; // Invalid; cannot put underscores adjacent (before) to a decimal point float pi2 = 3._1415F; // Invalid; cannot put underscores adjacent (after) to a decimal point long socialSecurityNumber1 = 999_99_9999_L; // Invalid; cannot put underscores prior to an L suffixint a1 = _52; // This is an identifier, not a numeric literal, starts with underscore int a2 = 5_2; // OK (decimal literal) int a3 = 52_; // Invalid; cannot put underscores at the end of a literal int a4 = 5_______2; // OK (decimal literal)int a5 = 0_x52; // Invalid; cannot put underscores in the 0x radix prefix int a6 = 0x_52; // Invalid; cannot put underscores at the beginning of a number int a7 = 0x5_2; // OK (hexadecimal literal) int a8 = 0x52_; // Invalid; cannot put underscores at the end of a numberint a9 = 0_52; // OK (octal literal) int a10 = 05_2; // OK (octal literal) int a11 = 052_; // Invalid; cannot put underscores at the end of a number這是在數字文字中使用下劃線的更多示例
long creditCardNumber = 6684_5678_9012_3456L; // Never do it on production code long socialSecurityNumber = 333_99_9999L; // Never, Ever do it on production code 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;您可以看到,與不使用數字下劃線相比,代碼更具可讀性。 順便說一句,在Java中始終使用L表示長文字。 盡管使用小寫字母l是合法的,但您永遠不要將其與數字一起使用,因為它看起來與數字1完全相似。請告訴我您是否能找出12l和121之間的差異,我想不是很多。 12L和121怎么樣?
簡而言之,請始終在數字中使用下劃線 ,尤其是使用長數字時,應使其更具可讀性。 我知道此功能僅在Java 1.7中可用,并且尚未廣泛使用,但是考慮到Java 8配置文件,我希望Java 8將比Java 7更快,更廣泛地被社區采用。
翻譯自: https://www.javacodegeeks.com/2014/03/why-use-underscore-in-numbers-from-java-se-7-underscore-in-numeric-literals.html
總結
以上是生活随笔為你收集整理的为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统垃圾bat怎么清理 Win7一键清理
- 下一篇: JBoss模块很糟糕,无法在JBoss