私はJavaを学んでいるので、質問があります。タイプint
,は、変数に関して必要になるほぼすべてのものに適しているようboolean
です。string
float
私の質問は、 、 、 などの他のタイプはlong
、double
通常byte
のchar
日常のプログラミングで使用されたことがありますか? これらを使用できる実用的なものは何ですか? 彼らは何のために存在しますか?
私はJavaを学んでいるので、質問があります。タイプint
,は、変数に関して必要になるほぼすべてのものに適しているようboolean
です。string
float
私の質問は、 、 、 などの他のタイプはlong
、double
通常byte
のchar
日常のプログラミングで使用されたことがありますか? これらを使用できる実用的なものは何ですか? 彼らは何のために存在しますか?
Java int は 32 ビットですが、long は 64 ビットです。したがって、2^31 より大きい整数を表す必要がある場合は、long が役に立ちます。long の一般的な使用例については、System.currentTimeMillis() を参照してください。
1 バイトは 8 ビットであり、最近のほとんどのハードウェアでアドレス可能な最小のエンティティであるため、ファイルからバイナリ データを読み取るときに必要です。
double のサイズは float の 2 倍であるため、サイズや速度に制限がなく、float に十分な容量がある場合を除き、通常は float ではなく double を使用します。
short は 2 バイト、16 ビットです。私の意見では、これは最も必要のないデータ型であり、実際のコードで実際に見たことはありませんが、バイナリ ファイル形式の読み取りや低レベルのネットワーク プロトコルの実行に役立つ可能性があります。たとえば、IP ポート番号は 16 ビットです。
Char は 16 ビットの 1 文字を表します。これは short と同じサイズですが、short は符号付き (-32768 ~ 32767) で、char は符号なし (0 ~ 65535) です。(これは、IP ポート番号がおそらく short よりも char としてより正確に表されることを意味しますが、これは chars の意図された範囲外のようです...)
これらの詳細に関する信頼できる情報源については、Java 言語仕様を参照してください。
Java のプリミティブ型については、こちらを参照してください。
これらのタイプ間の主な関心は、メモリ使用量です。たとえば、intは 32 ビットを使用しますが、byteは 8 ビットのみを使用します。
大規模な構造 (配列、行列など) で作業していると想像してください。メモリ使用量を削減するために、使用している型に注意する必要があります。
その種の型にはいくつかの目的があると思います。
1) 格納できる変数のサイズ (および符号) に制限を課します。
2) コードを少しわかりやすくすることができます (たとえば、char を使用すると、コードを読む人は、その中に何を格納しようとしているのかを知ることができます)。
3) メモリを節約できます。すべて符号なしで 256 未満の多数の数値配列がある場合は、それをバイト配列として宣言でき、int 配列を宣言した場合と比較してメモリを節約できます。
4) 格納する必要がある数値が 2^32 より大きい場合は long が必要で、非常に大きな浮動小数点数の場合は double が必要です。
一般に、数値には整数を使用する必要があります。
doubleは、小数を表すために使用される基本的なデータ型です。
文字列は基本的にすべてのデータ型を保持できますが、int を使用する方が簡単で、テキスト以外の文字列を使用すると混乱します。
文字は、基本的にはわかりやすくするためのものですが、1 文字だけを保持したい場合に使用されます。
Short、Long、および floatは必要ないかもしれませんが、たとえば、1,000 未満の数値を保持するだけでよいサイズ 1,00000 の配列を作成する場合は、単純にスペースを節約するために short を使用することをお勧めします。
プリミティブ データ型は、すべての複雑なコレクションの基礎であるため、必須です。
long、double、byte などは、ヒープ スペースを無駄にしない小さな整数 (または何でも) のみが必要な場合に使用されます。
私たちの時代には十分な RAM があることはわかっていますが、それを無駄にすべきではありません。
データベースとストリームの操作には「小さなもの」が必要です。
それはあなたが扱っているデータに関連しています。少量のデータしか扱っていない場合、メモリの大部分を予約するデータ型を使用しても意味がありません。たとえば、多くのデータ型は、使用される前にメモリを予約します。配列を例にとると、4 バイトしか使用していない場合でも、既定の量 (たとえば、256 バイト <-- 例!) が予約されます。
あなたの答えについては、このリンクを参照してください