- - PR -
Javaは大文字と小文字を区別するのに、なぜ「5.5f」は「5.5F」もアリ?
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-13 16:32
お世話になります。
浮動小数点リテラルに限ったことではないのですが、
と、大文字小文字どっちでもOK!になってるんでしょうか。 ちなみに、言語仕様書を見ると、 「小文字lより、大文字Lの方が好ましい。なぜなら1と紛らわしいから」 と、long型には記載がありますが、 http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#48282 doubleとfloatには、どっちがいいですよ的な記載はないし。。。 http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#230798 Javaは大文字・小文字を区別するはずなのに! と、変な初歩的な質問ですみません。 なぜでしょうか、というより、どっちの方が好ましいのでしょうか。 | ||||||||||||
|
投稿日時: 2005-06-13 16:45
どちらでもかまいませんよ。 わかりやすく可視的にアピールしているだけとかんがえたほうがいいです。 コーディングスタイルによるものではないでしょうか。 大文字小文字を区別するのは、 クラス名、パッケージ名、変数名 等ではないでしょうか。 | ||||||||||||
|
投稿日時: 2005-06-13 16:45
浮動小数点リテラル以外の例を教えてください。 <追記> 我ながら脇が甘い・・・(汗 でも、数値リテラル指定時以外に、大文字小文字が区別されない例って、他にありましたっけ? こちらの方は、ぜひ知りたいです。 [ メッセージ編集済み 編集者: Edosson 編集日時 2005-06-13 16:59 ] | ||||||||||||
|
投稿日時: 2005-06-13 16:59
raystarさん、回答ありがとうございます!
つい、「Javaは大文字小文字を厳密に区別する」はずなのに、 なぜにココだけ?と思ってしまったものですから。 「どっちの方が好ましいのか」の回答としては、raystarさんの通りとして、 さてそこで、ついでに調子こいて、では『なぜ?!』というのはいかがでしょう。 なぜにナニユエに、fとFとが用意されているのか?!
long型の整数リテラルの場合の、
がその例です。 あとは、eとE、16進数の際のxとXですかね。ってこれも数値リテラルがらみですね。 [ メッセージ編集済み 編集者: ヤング 編集日時 2005-06-13 17:05 ] | ||||||||||||
|
投稿日時: 2005-06-13 17:26
追記したのですが、入れ違いになっちゃったみたいですね。すみません。
改めて、数値リテラル以外の例があるのでしたら、ご教示ください。
露骨にいってしまうと、「素朴な疑問」というのは得てして「先入観」に過ぎない場合も多いです。 「区別するはず」というは、それにあたりませんか? 私の場合は、「これは仕様、理由は創造者の胸の内」ということで納得してます。 | ||||||||||||
|
投稿日時: 2005-06-13 17:35
ずばり、「大文字小文字どちらかに決定、およびそれを強制すると反対派が怒るから」ではないでしょうか。
Sun内部(Goslingらのグループ)でも両方の派がいたりして、何日にも及ぶ白熱した議論でも結論が出せず、議長の Gosling が「OK、じゃあどっちでもいいことにしよう」...という感じでどうでしょう long値の l は大文字固定にしてもらったほうが良かったかもしれませんね。 私は L の他は小文字で書いてます。 | ||||||||||||
|
投稿日時: 2005-06-13 17:44
普通は「厳密に区別する」からこそ、区別しない例であるこれらを、仕様に区別しないと書いてあるだけのような気がしますが…。 浮動小数点リテラル(の抜粋) http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#230798
論理値リテラル http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#49652
なんかは、小文字だけですね。 …で、なんでそんな仕様なのか、ってのはEdossonさんの言われるように、創造者の胸の内、と言うことだとは思います。(他言語に合わせただけとかね) | ||||||||||||
|
投稿日時: 2005-06-13 17:49
大ベテランのみなさん、ありがとうございます。
人間くさくていいですね。そんな雰囲気大好きです。 C言語とかで大文字小文字の区別がなかったのが、事の発端といったところでしょうか。 そして10年がたち、今となっては、
ということで、JWさんともども、私も飲み込んじゃおうと思います!ゴックン! みなさん、ありがとございました。 [ メッセージ編集済み 編集者: ヤング 編集日時 2005-06-13 17:50 ] |
1