この記事は Java のデータ型と文字セットについて説明したもので、必要な方は参考にしていただければ幸いです。
データ型とは
簡単に理解すると、データの種類です。 ##################何?データはどのようにして型を持つことができるのでしょうか?データって0か1のバイトコードだけじゃないの?
なぜデータ型があるのでしょうか?
例:
int a = 0x61; char b = 0x61; float c = 0x61; double d = 0x61; System.out.println(a+" "+b+" "+c+" "+d);
4 つの異なるタイプの変数には同じバイトコード 0x61 が与えられますが、実際の出力は異なります。なぜ?
プログラマ (人々) が 16 進数 0x61 に型を割り当てたり、意味を与えたりしているからです。
なぜタイプ (意味) を割り当てる必要があるのでしょうか?その目的は、0 または 1 のバイトコードでより具体的なものを表現できるようにするか、人間が理解できるものにマッピングできるようにすることです。
型を設定しなくても、0x61 という数字に対してさまざまな操作を行うこともできます。 。 。どういう意味ですか?
整数の加算、減算、乗算、除算には実質的な意味がありますが、文字を小文字から大文字に変更することには意味がありません。 。人に理解できないものには意味がありません。
#それでは、データ型とは何でしょうか?
データに型がある理由は、データ自体ではなく人々の意見に依存します。データ自体には型がありません。
#上記のプログラムの出力が異なるのはなぜですか?
人が望む形式に変更して、他の人に表示することだからです。 コンピューターは人々がどのような形式を望んでいるのかをどのようにして知るのでしょうか?
データ型別!
0x61 が int 型として指定されると、コンピューターは 10 進数 6*16 1 = 97 を表示する必要があることを認識します。
0x61 が char 型として指定されている場合、コンピュータは、10 進数 6*16 1 = 97 で表される ASCII コードに対応する文字「a」を表示する必要があることを認識します。 コンピュータでは同じバイトコード 0x61 ですが、人間がタイプを指定するため、コンピュータは異なる結果を返します。
#コーディングとデコーディングの観点から
エンコーディングとは、情報をある形式または形式から別の形式または形式に変換することです。プロセスの形式であるデコードは、エンコードの逆です。
コンピュータは何を理解するのでしょうか?私たちは0と1しか理解できませんが、人間はどうなのでしょうか?ほとんど全て。
両者間の変換のための
とは何ですか?
はデータ型です。データの種類を規定し、人間が理解できるものをコンピュータが理解できるバイトコードに変換する方法を規定するだけで、この変換を完了できます。
例:
97という数字は、人間は10進数として理解できますが、コンピュータは0か1しか理解できません。では、コンピュータに97を理解させるにはどうすればよいでしょうか?コード97。どうやって?バイナリ エンコードを使用すると、97 は数値 1100001 になります。このようにして、コンピュータは理解できる (記憶し、計算できる) のですが、人はバイナリ コード 1100001 をどのように理解するのでしょうか?コンピュータが「1100001」という数字を表示すると、それをバイナリデコードすると「97」となり、人間がそれを理解できるのは、バイナリのエンコードとデコードのルールが規定されており、整数であると規定されているからです。 「a」という文字については、人は小文字の a として理解しますが、どうすればコンピュータに理解できるでしょうか。それともコーディング?どのようなコードですか? ASCII コードをコーディングします。「a」の ASCII コードは 1100001 です。このようにして、コンピューターは 1100001 を理解して デコードすることができます。 ASCII デコードは「a」になるので、人々は再び理解できるようになります。 。 異なるものは、異なるエンコード方法を使用すると同じバイナリ コードを取得する可能性があり、異なるデコード方法を使用すると、同じバイナリ コードが異なるものとして理解される場合があります。
そもそもデータ型とは何でしょうか?は、実際にはデータをエンコードおよびデコードする方法です。 ! !
最後に、文字セットとは何ですか?
System.out.println("你好".getBytes("utf-8") ); System.out.println("你好".getBytes("gbk") );出力:
もちろん、上記の出力は 0 と 1 ではなく、明らかにバイナリ コードではありません。 。 。これは、コンピュータがバイナリ コードを表示するときに ASCII コードを使用してバイナリ コードをデコードするためです。 。 。すべて ASCII 文字に変換されました。なぜ?デコードしたくないのですが、display は decoding です! ! !
もちろん、いくつかの手法を使用してバイナリ文字列を出力することもできますが、これは重要ではないため、ここでは説明しません。
最後の 1 つ
アセンブリ言語!
以上がJava データ型と文字セットの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。