logo

Javaのデータ型

Java では、各タイプのデータ (整数、文字、16 進数、パック 10 進数など) がプログラミング言語の一部として事前定義されており、すべての定数または変数がプログラミング言語に対して定義されているため、Java は静的に型指定され、厳密に型指定された言語でもあります。特定のプログラムは、Java データ型のいずれかを使用して記述する必要があります。

Java のデータ型

Javaのデータ型 すべてのテスト ケースをカバーするために都合や状況に応じて作成される変数に格納できるさまざまなサイズと値があります。 Java にはデータ型が分離された 2 つのカテゴリがあります



  1. プリミティブ データ型: boolean、char、int、short、byte、long、float、double など
  2. 非プリミティブ データ型またはオブジェクト データ型: 文字列、配列など。

データ型 - Java

Cプログラミングのサンプルプログラム

Java のプリミティブ データ型

プリミティブ データは単一の値のみであり、特別な機能はありません。 8 つのプリミティブ データ型があります。それらを表形式で以下に示します。

タイプ



説明

デフォルト

サイズ



リテラルの例

値の範囲

ブール値 正しいか間違っているか 間違い 1ビット 真/偽

真/偽

バイト 2の補数の整数 0 8ビット (なし)

-128~127

チャー Unicode 文字 u0000 16ビット 'a'、'u0041'、'101'、''、''、' '、'b'

ASCII 値の文字表現

0~255

短い 2の補数の整数 0 16ビット (なし)

-32,768 ~ 32,767

整数 2の補数の整数 0 32ビット -2、-1、0、1、2

-2,147,483,648

2,147,483,647

長さ 2の補数の整数 0 64ビット -2L、-1L、0L、1L、2L

-9,223,372,036,854,775,808

9,223,372,036,854,775,807

浮く IEEE 754 浮動小数点 0.0 32ビット 1.23e100f、-1.23e-100f、.3f、3.14F

10進数7桁まで

ダブル IEEE 754 浮動小数点 0.0 64ビット 1.23456e300d、-123456e-300d、1e1d

最大 16 桁の 10 進数

次の各データ型について説明し、実装してみましょう。

1. ブールデータ型

ブール データ型は 1 ビットの情報のみを表します 真か偽のどちらか これは、論理とブール代数の 2 つの真理値を表すことを目的としていますが、ブール データ型のサイズは 仮想マシン依存 。ブール型の値は、暗黙的または明示的に (キャストを使用して) 他の型に変換されません。ただし、プログラマは変換コードを簡単に作成できます。

構文:

boolean booleanVar;>

サイズ: 仮想マシンに依存

2. バイトデータ型

バイト データ型は、8 ビットの符号付き 2 の補数整数です。バイト データ型は、大規模な配列でメモリを節約するのに役立ちます。

構文:

byte byteVar;>

サイズ: 1バイト(8ビット)

カットティンフの身長

3. 短いデータ型

short データ型は、16 ビットの符号付き 2 の補数整数です。バイトと同様に、メモリの節約が実際に重要な状況では、short を使用して大きな配列でメモリを節約します。

構文:

short shortVar;>

サイズ: 2バイト(16ビット)

4. 整数データ型

これは 32 ビットの符号付き 2 の補数整数です。

構文:

int intVar;>

サイズ: 4バイト(32ビット)

覚えて: Java SE 8 以降では、int データ型を使用して、[0, 2] の範囲の値を持つ符号なし 32 ビット整数を表すことができます。32-1]。 int データ型を符号なし整数として使用するには、Integer クラスを使用します。

5. ロングデータ型

ロングの射程はかなり広い。 long データ型は 64 ビットの 2 の補数整数で、int 型では必要な値を保持できるほど大きくない場合に便利です。 Long データ型のサイズは 8 バイト (64 ビット) です。

構文:

long longVar;>

覚えて: Java SE 8 以降では、long データ型を使用して、最小値が 0、最大値が 2 の符号なし 64 ビット長を表すことができます。64-1. Long クラスには、unsigned long の算術演算をサポートする、Unsigned の比較、Unsigned の除算などのメソッドも含まれています。

6. 浮動小数点データ型

float データ型は、単精度 32 ビット IEEE 754 浮動小数点です。浮動小数点数の大きな配列でメモリを節約する必要がある場合は、(double ではなく) float を使用してください。 float データ型のサイズは 4 バイト (32 ビット) です。

構文:

float floatVar;>

7. 倍精度データ型

double データ型は、倍精度 64 ビット IEEE 754 浮動小数点です。 10 進数値の場合、通常、このデータ型がデフォルトの選択になります。 double データ型のサイズは 8 バイトまたは 64 ビットです。

構文:

double doubleVar;>

注記: float と double データ型はどちらも、近似誤差が許容される科学計算用に特別に設計されています。精度が最も優先される場合は、これらのデータ型を使用せず、代わりに BigDecimal クラスを使用することをお勧めします。

経由することをお勧めします Java での誤差の四捨五入。

8. 文字データ型

char データ型は、2 バイト (16 ビット) のサイズを持つ単一の 16 ビット Unicode 文字です。

構文:

char charVar;>

Java では char のサイズが 2 バイトなのはなぜですか?

したがって、C/C++ などの他の言語では ASCII 文字のみが使用され、すべての ASCII 文字を表すには 8 ビットで十分です。しかし、Java は ASCII コード システムではなく Unicode システム Unicode システムを表すには、8 ビットではすべての文字を表すのに十分ではないため、Java は文字に 2 バイトを使用します。 ユニコード は、世界のほとんどの書き言葉を表現できる完全に国際的な文字セットを定義します。これは、ラテン語、ギリシャ語、キリル文字、カタカナ、アラビア語など、数十の文字セットを統合したものです。

例:

ジャワ


Javaと比較してください



// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Creating and initializing custom character> >char> a =>'G'>;> >// Integer data type is generally> >// used for numeric values> >int> i =>89>;> >// use byte and short> >// if memory is a constraint> >byte> b =>4>;> >// this will give error as number is> >// larger than byte range> >// byte b1 = 7888888955;> >short> s =>56>;> >// this will give error as number is> >// larger than short range> >// short s1 = 87878787878;> >// by default fraction value> >// is double in java> >double> d =>4.355453532>;> >// for float use 'f' as suffix as standard> >float> f =>4>.7333434f;> >// need to hold big range of numbers then we need> >// this data type> >long> l =>12121>;> >System.out.println(>'char: '> + a);> >System.out.println(>'integer: '> + i);> >System.out.println(>'byte: '> + b);> >System.out.println(>'short: '> + s);> >System.out.println(>'float: '> + f);> >System.out.println(>'double: '> + d);> >System.out.println(>'long: '> + l);> >}> }>

>

マイリケット
>

出力

char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121>

非プリミティブ データ型または参照データ型

参照データ型 参照型は変数値をメモリに直接保存しないため、変数値のメモリ アドレスが含まれます。それらは文字列、オブジェクト、配列などです。

1. 文字列

文字列 文字の配列として定義されます。 Java における文字配列と文字列の違いは、文字列が 1 つの変数に一連の文字を保持するように設計されているのに対し、文字配列は個別の char 型エンティティのコレクションであることです。 C/C++ とは異なり、Java 文字列は null 文字で終了しません。

構文: 文字列の宣言

 = ;>

例:

// Declare String without using new operator  String s = 'techcodeview.com';  // Declare String using new operator  String s1 = new String('techcodeview.com');>

2. クラス

クラス オブジェクトの作成元となるユーザー定義のブループリントまたはプロトタイプです。これは、1 つのタイプのすべてのオブジェクトに共通するプロパティまたはメソッドのセットを表します。一般に、クラス宣言には次のコンポーネントを次の順序で含めることができます。

  1. 修飾子 : クラスはパブリックにすることも、デフォルトのアクセス権を持つこともできます。参照する Java のクラスまたはインターフェイスのアクセス指定子
  2. クラス名: 名前は頭文字 (慣例により大文字) で始める必要があります。
  3. スーパークラス(存在する場合): クラスの親 (スーパークラス) がある場合、その名前の前にキーワード extends が続きます。クラスは 1 つの親のみを拡張 (サブクラス化) できます。
  4. インターフェース(ある場合): クラスによって実装されるインターフェイスのコンマ区切りのリスト (存在する場合) の前にキーワードが続きます。クラスは複数のインターフェイスを実装できます。
  5. 体: クラス本体は中括弧 { } で囲まれています。

3. オブジェクト

アン 物体 はオブジェクト指向プログラミングの基本単位であり、現実の実体を表します。典型的な Java プログラムは多くのオブジェクトを作成し、ご存知のとおり、メソッドを呼び出すことで相互作用します。オブジェクトは次のもので構成されます。

  1. : オブジェクトの属性によって表されます。また、オブジェクトのプロパティも反映されます。
  2. 行動 : オブジェクトのメソッドによって表現されます。また、他のオブジェクトに対するオブジェクトの反応も反映します。
  3. 身元 : オブジェクトに一意の名前を付け、あるオブジェクトが他のオブジェクトと対話できるようにします。

4. インターフェース

クラスのように、 インターフェース にはメソッドと変数を含めることができますが、インターフェイスで宣言されたメソッドはデフォルトでは抽象です (メソッド シグネチャのみで本体はありません)。

  • インターフェイスは、クラスがどのように実行するかではなく、何を実行する必要があるかを指定します。それはクラスの設計図です。
  • インターフェイスとは、Player がインターフェイスであり、Player を実装するクラスは move() を実行できる (または実装する必要がある) 必要があるなどの機能に関するものです。したがって、クラスが実装する必要があるメソッドのセットを指定します。
  • クラスがインターフェイスを実装し、インターフェイスで指定されたすべての関数のメソッド本体を提供しない場合、クラスは抽象として宣言する必要があります。
  • Java ライブラリの例は次のとおりです。 コンパレータインターフェース 。クラスがこのインターフェイスを実装している場合、それを使用してコレクションを並べ替えることができます。

5. アレイ

アン 配列 は、共通名で参照される、同様の型の変数のグループです。 Java の配列は、C/C++ の配列とは動作が異なります。以下に、Java 配列に関する重要な点をいくつか示します。

  • Java では、すべての配列が動的に割り当てられます。 (後述)
  • Java では配列はオブジェクトであるため、メンバーの長さを使用して配列の長さを見つけることができます。これは、サイズを使用して長さを求める C/C++ とは異なります。
  • Java 配列変数は、他の変数と同様に、データ型の後に [] を付けて宣言することもできます。
  • 配列内の変数は順序付けされており、それぞれに 0 から始まるインデックスが付いています。
  • Java 配列は、静的フィールド、ローカル変数、またはメソッド パラメーターとしても使用できます。
  • サイズ 配列の値は、long または short ではなく、int 値で指定する必要があります。
  • 配列型の直接のスーパークラスは Object です。
  • すべての配列型はインターフェイスを実装します。 クローン可能 そして java.io.Serializable

Java のデータ型に関する FAQ

1. Java のデータ型とは何ですか?

データ型にはさまざまなサイズと値があり、すべてのテスト ケースをカバーするために都合や状況に応じて作成される変数に格納できます。

2. Java で使用される 8 つのデータ型は何ですか?

以下に示すように、Java には 8 つの主要なプリミティブ データ型があります。

  • ブール値
  • バイト
  • チャー
  • 短い
  • 整数
  • 長さ
  • 浮く
  • ダブル

3. Java のプリミティブ型はどれですか?

プリミティブ データ型は、単一の値を格納できる Java の型であり、特別な機能は提供しません。

4. Java で char が 2 バイトを使用する理由と u0000 とは何ですか?

Java では ASCII システムではなく Unicode システムが使用されるため、Char は 2 バイトを使用します。 u000 は Unicode システムの最小範囲です。

チェックアウト: Javaのデータ型に関するクイズ