Java プログラミング言語には 2 種類のデータ型があります
Primitive data types (predefined data types) Non-primitive data types
このセクションでは、非プリミティブ データ型、その使用法、および Java での実装について理解します。
非プリミティブ データ型:
データ型は、変数に格納されるデータの型を定義します。タイプはデータの種類 (さまざまなサイズと値) を指定します。
プリミティブ データ型とは異なり、これらは事前定義されていません。これらはプログラマによって作成されたユーザー定義のデータ型です。これらのデータ型は、複数の値を保存するために使用されます。
たとえば、値のグループを格納する配列 (TBD) について考えてみましょう。クラスは、さまざまなメソッドと変数を格納するプリミティブ型でもあります。したがって、これらは Java では高度なデータ型とも呼ばれます。
非プリミティブ データ型が定義されるときは常に、データがヒープ メモリに格納されているメモリ位置を参照します。つまり、オブジェクトが配置されているメモリ位置を参照します。したがって、非プリミティブ データ型変数は、参照データ型または単にオブジェクト参照変数とも呼ばれます。
オブジェクト参照変数はスタック メモリ上に存在し、それが指すオブジェクトは常にヒープ メモリ上に存在します。スタックはヒープ上のオブジェクトへのポインターを保持します。
Java プログラミングでは、すべての非プリミティブ データ型は、クラスをインスタンス化することによって作成される単にオブジェクトと呼ばれます。
キーポイント:
参照変数のデフォルト値は null です。
`
非プリミティブ データ型をメソッドに渡すときは、データが保存されているオブジェクトのアドレスを渡すことになります。
非プリミティブ データ型の種類
Java には 5 種類の非プリミティブ データ型があります。それらは次のとおりです:
1.Class 2.Object 3.String(TBD) 4.Array(TBD) 4.Interface(TBD)
**
Java のクラスはユーザー定義のデータ型です。つまり、ユーザーによって作成されます。メンバー変数とメソッドで構成されるデータのテンプレートとして機能します。
オブジェクトはクラスの変数であり、クラスの要素、つまりメソッドや変数にアクセスできます。
例:
次の例では、変数とメソッド ( add() と sub() ) を含むクラスを作成しています。ここでは、クラス obj.
のオブジェクトを使用してメソッドにアクセスしています。`
ClassExample.java
public class ClassExample { // defining the variables of class int a = 20; int b = 10; int c; // defining the methods of class public void add () { int c = a + b; System.out.println("Addition of numbers is: " + c); } public void sub () { int c = a - b; System.out.println("Subtraction of numbers is: " + c); } // main method public static void main (String[] args) { // creating the object of class ClassExample obj = new ClassExample(); // calling the methods obj.add(); obj.sub(); } }
`
Java のプリミティブ データ型と非プリミティブ データ型の違い:
`
*Java では、プリミティブ データ型はシステム定義ですが、非プリミティブ データ型を作成して定義する必要があります。
*プリミティブ データ型では、変数は一度に 1 つの値のみを格納できます。ただし、非プリミティブ データ型では、同じ型または異なる型、あるいはその両方の複数の値を格納できます。
*プリミティブ型変数のデータはすべてスタックに格納されますが、参照型の場合、スタックはヒープ上のオブジェクトへのポインターを保持します。
*プリミティブ型は小文字で始まり、非プリミティブ型は大文字で始まります。
*プリミティブ型のサイズはデータ型によって異なりますが、非プリミティブ型はすべて同じサイズです。
参考:https://www.javatpoint.com/non-primitive-data-types-in-java
以上が非プリミティブデータ型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。