10

Java では大文字と小文字が区別されるとどこかで読みました。私はこれを確認できませんでした。それは...ですか?もしそうなら、なぜですか?

4

8 に答える 8

39

Java では大文字と小文字が区別されるとどこかで読みました。私はこれを確認できませんでした。

Java ソース コードでは大文字と小文字が区別されます。ieDoubleは と同じ型ではなく、double2 つの異なる別々の変数myDataおよびを持つことができますmydata

それは...ですか?もしそうなら、なぜですか?

ほとんどのプログラミング言語と環境では、大文字と小文字の区別が標準になっています。これは、小文字と大文字が最も低いレベルで異なる方法で表現されるためです。コンピュータにとって、「a」と「A」は 2 つのまったく異なるものであり、それらが同じであるかのように振る舞うには余分な作業が必要です。

さらに、一部の言語では、大文字と小文字を区別するための非常にトリッキーな特別なルールがあります。たとえば、ドイツ語の ß には大文字バージョンがなく、通常は "SS" に大文字になります。したがって、"weiß" と "WEISS" は構文的に同一と見なす必要がありますか? さらに悪いのはトルコ語です。ドットがある場合とない場合の 2 つの別個の文字 i があり、それぞれに独自の大文字バージョンがあります。トルコでは、"IMAGE" は"image" の大文字バージョンではありません! これは、特に Java の場合はまったく無関係ではありません。必要に応じて、これらすべての文字を Java プログラムで識別子として実際に使用できるからです。

これらすべてを考慮すると、プログラミング言語の設計者が、構文で大文字と小文字を区別するという単純なソリューションを選択することは非常に理解できます。

于 2010-01-24T19:51:57.560 に答える
12

はい、大文字と小文字が区別されます。これは、C からの継承によるものです。この言語を、人々が「その日」に慣れ親しんだ言語に近づけるために、大文字と小文字を区別するままにしました。Java 識別子はほぼすべてのUnicode文字にできるため、追加の利点があります。個々の文字を大文字にできるかどうかを気にする必要はありません。

たとえば、?ßと同等である必要があります。ss

于 2010-01-24T19:40:25.527 に答える
7

Java は C スタイルの構文を使用するため、大文字と小文字が区別されます。大文字と小文字の区別は、大文字と小文字に基づいて名前の意味を推測できるため便利です。

たとえば、クラス名の Java 標準では、各単語の最初の文字を大文字にしています ( IntegerPrintStreamなど)。変数名とメソッド名の標準は、最初の単語の最初の文字を小文字にし、他のすべての最初の文字を大文字にすることです ( numberprintln()checkError()など)。また、定数の標準はすべてアンダースコア付きの大文字 ( SOME_CONSTANT) です。

コードでこれらの規則に従う必要はありませんが (これらの規則を破ってもコンパイルされます)、Java の組み込みコードはそれらに従います。また、すべての主要な Java ライブラリも従います。また、コードもこれらのルールに従う必要があります。他の開発者が大文字を見て意味を推測するのに役立つからです。

于 2010-01-24T19:46:47.540 に答える
7

照合は難しいロケール依存の問題であるため、識別子は大文字と小文字が区別されます。

于 2010-01-24T19:40:35.010 に答える
6

これはより技術的な決定でした。Java は、プラットフォームに依存しないことを意図しています。パブリック Java クラスは、パッケージ/クラス名でファイル システムに保存されます。Windows 以外のプラットフォームでは、ファイル名の大文字と小文字が区別されます。クラスをロード/実行するために正確なケースを使用しなかった場合、そこで失敗します。この大文字と小文字の区別の必要性は、Java の他の識別子に拡張されます (最終的には、命名規則などの他の (ただし技術的ではない) 利点のための余地が生まれます)。

于 2010-01-24T19:49:08.867 に答える
4

プログラミング言語で大文字と小文字を区別する必要があるかどうかは、プログラマーの間で意見が分かれる傾向があります。議論に関係なく、Java では大文字と小文字が区別されることを覚えておくことが重要です。これは単に、Java プログラムの文字の大文字と小文字が重要であることを意味します。たとえば、「endLoop」、「Endloop」、「EnDlOoP」という 3 つの変数を作成するとします。英語では変数名が同じことを言っているように見えますが、Java はそうではありません。それらをすべて異なる方法で扱います。

于 2011-10-26T22:26:53.423 に答える
2

Java コンパイラーとインタープリターは大文字と小文字を区別するため、一貫して大文字にする必要があります。

HelloWorldApp は Helloworldapp と同じではありません。

この大文字と小文字の区別は、C および C++ の派生物としての Java の遺産を反映しています。

于 2010-01-24T19:51:05.017 に答える
2

はい。ほとんどのプログラミング言語は大文字と小文字を区別するため、Java では大文字と小文字が区別されます。

于 2010-01-24T19:41:43.590 に答える