なぜJavaは、これがコンパイルできるようにされ、それが、この場合のように、複数の+記号をどのように解釈していますか?

1つのstevy BOI:

質問してください正確にどのように言葉にはありませんでしたが、日付を構築しながら、私は奇妙な何かに気づきました。私が発見した私は、このような日付を構築する場合

new Date(+ 1)

それだけで罰金をコンパイルし、そしてそのようにしました

new Date(+ + + 1)

私は次のことを実行する場合、出力は1であります

public static void main(String[] args) {
    int x = 1;
    System.out.println(+ + + + x);
}

誰もが、それはJVMは私がやっていると思っていることは何か説明できますか?

誠:

それはだ単項演算子(+) あなたは、常に数字に+を追加することができますし、それはあなたの数の正の値が得られます。

あなたは、このような形で出トークン間隔しているので、レクサーはされていない、あなたが値1に4単項(+)の操作を追加しているので、増分として、ここで何かを解釈します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=195999&siteId=1