Java が提供するデータ型は、主に基本データ型と参照データ型の 2 つのカテゴリに分類されます。
名前 | サイズ | 値の範囲 |
バイト型(バイト) | 8bit | -128 -127(-2^7~2^7-1) |
short type(ショートタイプ) |
16bit | -2^15 to 2^15- 1 |
int型(プラスチック) | 32bit | -2^31から2^31-1 |
long型(ロング型) | 64bit | -2 ^63 to 2^63-1 |
float型(単精度浮動小数点型) | 32bit | |
double型(倍精度浮動小数点型) | 64bit | |
char型(文字型) | 16bit | |
boolean型(ブール型) | 本当と嘘 | 結果は「true」か「false」の 2 つだけです |
Javaの参照データ型:
Javaはオブジェクト指向言語であり、Javaのクラス、インターフェース、抽象クラスによって定義されるものはすべてJavaの参照データ型に属します。
Java の基本データ型と参照データ型を理解する方法:
1. Java の基本データ型は Java 言語自体によって提供されるデータ型であり、ユーザーが定義する必要はありません。
2. Java の参照データ型はユーザー自身によって定義され、参照データ型の定義には基本的なデータ型の使用が必要です
3. メモリ関係に関して:
Java のメモリは次のとおりです。 2 つの大きなブロック: スタック メモリとヒープ メモリに分割されます
スタック メモリは、メソッド内の基本的なデータ型変数とオブジェクト参照変数を格納する役割を担います
ヒープ メモリは、新しいキーワードによって生成されたデータを格納する役割を担います、つまり、キーワードに続くクラス内の新しいプロパティとメソッドです。
Java の基本データ型はスタック メモリに格納され、参照データ型の型名はスタック メモリに格納されますが、参照データ型の内容はヒープ メモリに格納されます。両者はアドレスによって接続され、相互アクセスを実現します。
4. データが狭い範囲から広い範囲に変換されると、JVM は型変換の実装を自動的に支援します。例: int i=10; long l=i; このデータ変換と同様に、Java 仮想マシンはこの作業を自動的に完了するのに役立ちます。ただし、広い範囲から狭い範囲にデータを変換する場合は、強制的な型変換を手動で追加する必要があります。変換プロセス中にデータのオーバーフローが発生した場合、狭い範囲のデータ型の値の範囲に従って変更されます。たとえば、整数 -129 が byte に割り当てられている場合、出力バイト値は 127 となり、整数 128 が byte 型に割り当てられている場合、出力は -128 になります。
Javaで渡すパラメータ:
基本データ型:
public void test1(){ int i=10; long l; l=i; System.out.println(i);//输出值10 System.out.println(l);//输出值10 l=i+1; System.out.println(i);//输出值10 System.out.println(l);//输出值11 }
基本データ型は変数名とともに変数値とともにスタックメモリに格納されるので、 i と l これら 2 つの変数は互いに独立しており、 l への代入演算は i の値に影響を与えません。
参照データ型:
public class Book { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Test { public static void main(String[] args) { Book book1=new Book(); book1.setName("《百年孤独》"); Book book2=new Book(); book2.setName("《围城》"); System.out.println("book1:"+book1.getName());//输出:book1:《百年孤独》 System.out.println("book2:"+book2.getName());//输出:book2:《围城》 book1=book2; book1.setName("《活着》"); System.out.println("book1:"+book1.getName());//输出:book1:《活着》 System.out.println("book2:"+book2.getName());//book2:《活着》 } }
初めて、2 つの新しいオブジェクトは book1 と book2 となり、それぞれの本のタイトルは「百年の孤独」と「包囲」です。 。次に、割り当てを通じて、book1 も book2 と同じメモリ領域を指します。このとき、book1 と book2 のどちらに対する操作も同じメモリ領域に影響します。これが、その後の出力が同じになる理由です。さらに、book1 によって最初に開かれたメモリ空間は使用されないため、JVM のガベージ コレクション メカニズムがそれを処理し、これらの未使用のメモリ空間を解放します。
以上がJava データ型とパラメータ受け渡しの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。