Java允許標識符以$開頭或包含$(美元符號)。 例如int a $ b;爲什麼#不允許在標識符中?
但是爲什麼#不允許在標識符中?具體原因是什麼?是#是一個運算符還是Java中的東西? 例如int a#b;
Java允許標識符以$開頭或包含$(美元符號)。 例如int a $ b;爲什麼#不允許在標識符中?
但是爲什麼#不允許在標識符中?具體原因是什麼?是#是一個運算符還是Java中的東西? 例如int a#b;
我想說它是可讀性和語言的歷史前因的組合。請記住,Java語法的設計是爲了讓C和C++程序員易於使用。 (正如@ dan04指出,#
字符是C和C的大多數方言顯著++)
順便說一句,而$
是Java標識符技術性的法律,它是由編譯器,代碼生成器和其他的東西保留使用。如果在源代碼中使用$
作爲標識符,那麼您可能會遇到由(例如)javac
編譯器生成的合成標識符發生衝突的問題。
Variables可以包含字母,數字,下劃線和美元符號 - 不包括#,@,〜,`
我想這是可讀性的原因 - int s#@t;
似乎很奇怪。
我懷疑是否有一個特定的理由不允許#
儘可能多地反對標識符中的標點符號(可能看起來像運營商)。特殊例外是爲了處理WORD_SEPARATION和Inner $類。
在Java語法所基於的C和C++中,#
用於preprocessor指令。