ホーム プログラミング言語 java Java プログラミングの基礎 Java データ型: 基本データ型と参照データ型

Java データ型: 基本データ型と参照データ型


 
 
Java言語は厳密に型指定された言語であり、コンパイラによって変数に格納される値は適切なデータ型であると前述しました。プログラミング言語を学ぶにはデータの型を理解する必要がありますが、この記事ではJavaのデータの型について詳しく紹介します。

 

Java 言語でサポートされるデータには、プリミティブ型と参照型の 2 種類があります。

Javaの基本データの種類

基本的なデータ型には、boolean (ブール型)、float (単精度浮動小数点)、char (文字)、byte (バイト)、short (短整数)、int (整数)、long (長整数) 型)、double (double) が含まれます。 -精度浮動小数点型)、全部で8種類あります(詳細は表1を参照)。

表 1 Java の基本データ型
型名 キーワード 使用済み内部メモリ 範囲
バイト byte 1バイト -128~127
短整数 short 2バイト -32768~32767
整数 int 4バイト -2147483648~2147483647
長整数 long 8バイト -9223372036854775808L~9223372036854775807L
単精度浮動小数点 float 4バイト ±3.4E+38F(有効桁6~7桁)
倍精度浮動小数点 double 8バイト +/-1.8E+308 (有効数字 15 桁)
文字タイプ char 2バイト ISO 単一文字セット
ブール値 boolean 1バイト 正しいか間違っているか

ヒント: char は文字型を表します。実際、文字型は整数型でもあり、符号なし整数型と同等です。

すべての基本データ型のサイズ (占有バイト数) は明確に指定されており、さまざまなプラットフォームで変更されないため、この機能は Java プログラムの移植性の向上に役立ちます。

 

Java は型付き言語であり、すべての変数は使用する前にデータ型を明確に定義する必要があります。 Java のすべての変数、式、値は独自の型を持つ必要があり、「型なし」変数などというものは存在しません。

基本的なデータ型は、整数型(byte、short、int、long を含む)、浮動小数点型(float、double を含む)、Boolean 型、文字型(char)の 4 つに分類できます。以下では、これら 4 つの型を紹介します。それぞれ大分類データのタイプ。

1) 整数型

Javaでは整数型変数としてバイト型(byte)、短整数型(short)、整数型(int)、長整数型(long)の4種類が定義されています。これらは、正または負の符号付きの値です。具体的な手順を表 2 に示します。

表 2 Java 整数型変数の説明
名前 説明する
バイト型(byte) バイト型は最小の整数型です。このタイプは、ユーザーがネットワークまたはファイルからのデータ ストリームを処理する場合、または Java の他の組み込みタイプと直接互換性がない可能性がある生のバイナリ データを処理する場合に役立ちます。
短い整数 (short) short タイプはデータの保存を最初に上位バイト、次に下位バイトに制限するため、一部のマシンではエラーが発生する可能性があるため、このタイプはほとんど使用されません。
整数 (int) int 型は、最も一般的に使用される整数型です。
長整数 (long) 大規模なプログラムでは大きな整数が頻繁に発生するため、int 型で表現できる範囲を超える場合には、long 型を使用する必要があります。

例1

Java プログラムを作成し、main() メソッドでさまざまな整数変数を宣言して初期値を割り当て、最後に変数を追加して結果を出力するコードは次のとおりです。

 public static void main(String[] args) {
    byte a = 20; // 20を初期値として持つbyte型変数を宣言する
    short b = 10; // 10を初期値として持つshort型変数を宣言する
    int c = 30; // 30を初期値として持つint型変数を宣言する
    long d = 40; // 40を初期値として持つlong型変数を宣言する
    long sum = a + b + c + d; // a,b,c,dの合計をlong型の変数sumに代入する
    System.out.println("20+10+30+40=" + sum); // 20+10+30+40の計算結果をコンソールに出力する
} 
 

この例では、byte型、short型、int型、long型の4つの変数を順番に定義して初期値を代入した後、sumという名前のlong型の変数を定義しています。 sum 変数の値は最初の 4 つの変数の合計であり、最後に加算後の結果である sum 変数の値が出力されます。

ヒント: byte 型、short 型、int 型、long 型はすべて整数型であるため、文字列間を接続するのではなく、加算するために「+」を使用できます。

2) 浮動小数点型

浮動小数点型は小数部を持つデータ型であり、実数型とも呼ばれます。浮動小数点データには、10 進精度要件を持つ数値を表す単精度浮動小数点 (float) と倍精度浮動小数点 (double) が含まれます。

単精度浮動小数点型(float)と倍精度浮動小数点型(double)の違いは主に占有メモリサイズで、float型は4バイト、double型は8バイトのメモリ空間を占有します。空。倍精度型 double は、単精度型 float に比べて精度が高く、表現範囲が広くなります。

Java のデフォルトの浮動小数点型は double です。たとえば、11.11 と 1.2345 は両方とも double 型の値です。 float 型の値を記述したい場合は、その後ろに文字 f または F を追加する必要があります。たとえば、11.11f や 1.2345F は float 型の定数です。

たとえば、次のように float 型の変数を宣言し、初期値を割り当てることができます。

float price = 12.2f; 

次のいずれかの方法を使用して、double 型の変数を宣言し、それに初期値を割り当てることもできます。

double price = 12.254d; 

また

double price = 12.254; 

注:値が真に float であると見なされるには、f (または F) 接尾辞で終わる必要があります。そうでない場合は、double 値として扱われます。 double 値の場合、d (または D) バックオフはオプションです。

例 2

A から B までの距離が 2348.4 メートルであるとすると、A と B の間を移動するには何メートル必要ですか?

パスデータは浮動小数点型なので、ここでは片道の距離を格納するためにdouble型の変数を定義し、時間を格納するためにint型の変数を定義します。さらに、計算された値は float 型であるため、合計距離を格納するために float 型の変数を定義できます。

コードは以下のように表示されます。

 public static void main(String[] args) {
    double lutu = 2348.4; // 変数の定義:単方向距離を保存するための double 型の変数
    int num = 2; // 変数の定義:回数を保存するための int 型の変数
    float total = (float) (lutu * 2); // 変数の定義:合計距離を保存するための float 型の変数
    System.out.println("Total:" + total + " 米"); 
} 

この例では、最初に double 型で lutu という名前の変数が一方向の距離を保存するために定義され、次に int 型で num という名前の変数がパス数を保存するために定義され、最後に float 型の変数が定義されます。 , total という名前の変数は、合計距離を保存するために使用されます。

実際にはdouble型のデータとint型のデータを乗算した結果の型はdoubleになりますが、片道の距離の乗算回数は単精度浮動小数点数(float型)となるため、合計距離は float 型のデータに変換できます。

3) ブール型

ブール型 (boolean) は、2 つの値に対して論理演算を実行し、結果が “true” か “false” かを決定するために使用されます。予約語 true と false は、Java で論理演算で「true」と「false」を表すために使用されます。したがって、ブール型の変数または式は、true と false の 2 つの値のいずれか 1 つだけを取ることができます。

Java 言語では、Boolean 型の値はどのデータ型にも変換できず、true の定数は 1 に等しくなく、false の定数は 0 に等しくありません。これら 2 つの値は、ブール型として宣言された変数、またはブール式で使用される変数にのみ割り当てることができます。

たとえば、次のステートメントを使用して、ブール型の変数を宣言できます。

boolean isable;    // boolean型の変数isableを宣言する
boolean b = false;    // boolean型の変数bを宣言し、falseを初期値として代入する 

4) 文字の種類

Java 言語の文字型 (char) は 2 バイトの Unicode エンコーディングで表され、世界中のすべての言語をサポートし、一重引用符文字または整数を使用して char 型に値を割り当てることができます。

一般的なコンピュータ言語はASCIIエンコードを使用しており、1バイトで1文字を表します。 ASCII コードは Unicode コードのサブセットであり、Unicode を使用して ASCII コードを表現する場合、その上位バイトは 0 (最初の 255 文字) になります。

Unicode 文字は通常、16 進数で表されます。たとえば、「\u0000″~”\u00ff」は ASCII コード セットを表します。 「\u」はエスケープ文字を表し、次の 4 桁の 16 進数が Unicode コードであることを示すために使用されます。

文字変数の型は char で、単一の文字を表すために使用されます。次に例を示します。

char letter = 'D';
char numChar = '5'; 

最初のステートメントは文字 D を文字変数 Letter に割り当て、2 番目のステートメントは数値 5 を文字変数 numChar に割り当てます。

例 3

次のコードは、main() メソッドで文字型の 2 つの変数を定義し、対応する ASCII (Unicode) 値を加算し、最後に加算結果を出力します。

 public static void main(String[] args) {
    char a = 'A';    // A の ASCII 値は65に対応し、char型のa変数に値を設定する
    char b = 'B';    // B の ASCII 値は66に対応し、char型のb変数に値を設定する
    System.out.println("AのASCII値とBのASCII値を加算した結果は:" + (a + b) + "です");
} 

このプログラムでは、まず変数に値「A」が割り当てられます。これは、ASCII (および Unicode) の 65 に相当します。次に、char 型の変数 b が定義され、値「B」が割り当てられます。ASCII (および Unicode) の文字 B に対応する値は 66 です。したがって、加算後の結果は 131 になります。

ヒント: 文字は通常、「\uOOOO」から「\uFFFF」、つまり 0 ~ 65535 の範囲の 16 進数で表現されます。 \uOOOO と \uFFFF の u は、2 バイト (16 ビット) の文字情報で Unicode 文字を表すようにコンパイラーに指示します。

Java参照データの種類

参照データ型は、配列、クラス、インターフェイスなどの基本データ型に基づいて構築されます。参照データのタイプは、他のデータのタイプを制限するためにユーザーによって定義されます。また、 C++のポインタ型、構造体型、共用体型、列挙型は Java 言語ではサポートされていません。

参照型には特別な null 型もあります。参照データのいわゆる型はオブジェクトへの参照であり、オブジェクトにはインスタンスと配列の2種類がある。実際、参照型変数はポインターですが、Java 言語ではポインターという用語は使用されなくなりました。

null 型は、名前を持たない null 値の型です。 null 型には名前がないため、null 型の変数を宣言したり、null 型に変換したりすることはできません。

null 参照 (null) は、null 型の変数の唯一の値です。空の参照 (null) は、任意の参照型に変換できます。

実際の開発では、プログラマは、null が参照型の単なる特殊なリテラルであると想定して、null 型を無視できます。

注: null 参照 (null) は参照型にのみ変換でき、基本型には変換できないため、基本データ型の変数に null 値を代入しないでください。

 

「 Java データ型: 基本データ型と参照データ型」についてわかりやすく解説!絶対に観るべきベスト2動画

【Java技術者必見】プリミティブ型、参照型、Stringの違いを分かりやすく解説
Java入門:基本データ型について|lynda.com 日本版