2013-08-11 11 views
6

間下線私はこの問題に出くわしたとき、私はより多くのUILのJava練習シートに取り組んでいます:奇妙な構文 - 私のいつものパー桁

int _ = 8; 
System.out.println(5_5); 

質問は次のコード片の出力であるもの」でした? "

私の最初の推測は構文エラーでしたが、実際の応答はです。

これはなぜですか? Javaの7から

+0

@arshajii:なぜそのURLを短縮しなければならなかったのか考えましたか? – Ryan

+1

これはおそらくFAQです。 – devnull

答えて

10

、あなたは読みやすさを改善するために、数字の間にアンダースコアを持つことができますが:JLS - Section 3.10.1JLS Section 3.10.2から

アンダースコアは整数を表す数字の間にセパレータとして許可されています。リテラル浮動小数点について

も:

下線は、全体数の一部を表す数字の間、及び小数部を表す数字の間、および指数を表す数字の間のセパレータとして許容されます。

例えば、10000000001_000_000_000と書くことができます。だから、目の方がいいですね。

同様に書くことができます - 0x7fff_ffff0b0111_1111

変数名に関しては、_が有効な変数名です。 Java標準に従って、変数名は$,_またはletterで始まる必要があります。

+3

+1あなたが浮動小数点のためにこれを使用することができなかったことを知りませんでした。 –

+0

これは凶悪だと思います。読みやすさを向上させますか?同意しません。 – duffymo

+2

@duffymo。これは主に読みやすくするためのものだと思います。 '1_000_000_000'を書くことは' 1000000000'よりも読みやすくなります。 –