ホームページ  >  記事  >  Java  >  JAVA の基本: 混同されやすい 2 つのタイプ (基本データと参照データ)

JAVA の基本: 混同されやすい 2 つのタイプ (基本データと参照データ)

php是最好的语言
php是最好的语言オリジナル
2018-07-26 14:09:541456ブラウズ

JAVA の基礎を学ぶとき、誰もが私と同じように、基本データ型と参照データ型をどのように区別するか常に混同すると思います。それぞれの特徴をまとめてみましたので参考にしてください。

1. 基本データ型

byte: Java の最小のデータ型で、メモリ内で 8 ビット (bit)、つまり 1 バイトを占有します。値の範囲は -128 ~ 127、デフォルト値は次のとおりです。 0

short: 短い整数型、メモリ内で 16 ビット、つまり 2 バイトを占有、値の範囲 -32768 ~ 32717、デフォルト値 0

int: 整数型、整数の格納に使用され、内部的に 32 を占有ビット、つまり 4 バイト、値の範囲は -2147483648 ~ 2147483647、デフォルト値は 0 です

long: 長整数、メモリ内の 64 ビット、つまり 8 バイトを占有します -2^63 ~ 2^ 63 -1、デフォルト値 0L

float: 浮動小数点型、メモリ内の 32 ビット、つまり 4 バイトを占有し、小数点付きの数値を格納するために使用されます (double との違いは、float 型の有効な小数点であることです)はわずか 6~7 ビットです)、デフォルト値 0

double: 倍精度浮動小数点型、小数点付きの数値を格納するために使用され、メモリ内の 64 ビット、つまり 8 バイトを占有します、デフォルト値 0

char : 単一文字の格納に使用される文字タイプ、16 ビット、つまり 2 バイトを占有します。値の範囲は 0 ~ 65535 で、デフォルト値は空です。

boolean: ブール型、1 バイトを占有し、以前に使用されます。 true または false (true、false の 2 つの値のみ) を決定します。デフォルト値は false

class

interface type

array type

enumeration type

アノテーションの型

3. 違い

基本的なデータ型作成時にスタック上にメモリが確保され、値はスタック上に直接格納されます。

参照データ型作成時には、まずスタック上の参照 (ハンドル) にメモリの一部を割り当てる必要があり、オブジェクトの特定の情報がヒープ メモリに格納され、次に参照がヒープ メモリに格納されます。 stack はヒープ アドレス内のオブジェクトを指します。

たとえば、属性 name、年齢、パラメータを持つコンストラクター メソッドを持つクラス person があります: Person p = new Person("zhangsan",20);

メモリ内の具体的な作成プロセス:

1. まず、スタック メモリに p のスペースを割り当てます。 2. ヒープ メモリに Person オブジェクトのスペースを割り当て、その 3 つの属性の初期値を 0 に設定します。属性のクラス パーソン 定義に、オブジェクトの 2 つの属性に値を割り当てます。

4. コンストラクター メソッドを呼び出し、2 つの属性に値を割り当てます。 20;この時点では p と person オブジェクトの間に接続がないことに注意してください) ;

5. ヒープ メモリ内の person オブジェクトのアドレスをスタック内の p に割り当てます。 (ハンドル)p. を参照してください。

IV. 関連知識

静的領域

は、自動グローバル変数と静的変数 (静的グローバル変数とローカル変数を含む) を保存します。静的領域の内容はプログラム全体のライフサイクル全体にわたって存在し、コンパイル中にコンパイラによって割り当てられます。

ヒープ領域

は、通常、プログラマによって割り当てられ、解放されます。malloc 一連の関数または new 演算子によって割り当てられたメモリは、free または delete によって決定されます。プログラムが終了し、OS によって解放されるまで存在します。柔軟な使用が特徴で、比較的大きな領域ですが、エラーが発生しやすいです

スタック領域

はコンパイラによって自動的に割り当ておよび解放され、スタック上の内容はスタックのスコープ内にのみ存在します。関数が終了すると、これらのコンテンツも自動的に破棄されます。これは効率が高いという特徴がありますが、スペースが限られています。

ここには定数文字列が配置されます。プログラム終了後にシステムにより解放されます。

関連する推奨事項:

JAVA チュートリアル | 第 2 章 基本データ型

JavaScript の基本データ型と参照型の違いの詳細な説明

ビデオ チュートリアル:

基本データ型をパラメーターとして渡す -最新のJavaが完成しました

以上がJAVA の基本: 混同されやすい 2 つのタイプ (基本データと参照データ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。