Javaの基本データ型


変数は、値を保存するためにメモリに適用されます。つまり、変数を作成するときに、メモリ内のスペースを申請する必要があります。

メモリ管理システムは、変数の型に応じて記憶領域を変数に割り当てます。割り当てられた領域は、この型のデータを格納するためにのみ使用できます。

memorypic1.jpg

したがって、さまざまな型の変数を定義することで、整数、小数、または文字をメモリに格納できます。

Java の 2 つの主要なデータ型:

  • 組み込みデータ型

  • 参照データ型


組み込みデータ型

Java 言語には 8 つの基本型が用意されています。 6 つの数値型 (4 つの整数、2 つの浮動小数点型)、文字型、およびブール型。

バイト:

  • バイト データ型は、2 の補数で表現される 8 ビットの符号付き整数です。 最小値は -128 (-2^7) です。 最大値は 127 (2^7-1) です。 デフォルト値は 0 です。 byte 変数は int 型のスペースの 4 分の 1 しか占有しないため、byte 型は大きな配列のスペースを節約するために使用され、主に整数を置き換えます。 例: バイト a = 100、バイト b = -50。

  • 短い:
  • short データ型は、2 の補数で表される 16 ビットの符号付き整数です
  • 最小値は -32768 (-2^15) です。 最大値は 32767 (2^15 - 1) です。 Short データ型は、バイトと同様にスペースを節約することもできます。 short 変数は、int 型変数が占有するスペースの半分です。 デフォルト値は 0 です。 例: 短い s = 1000、短い r = -20000。
  • int:

int データ型は、2 の補数で表される 32 ビットの符号付き整数です。 最小値は -2,147,483,648 (-2^31) です。 最大値は 2,147,483,647 (2^31 - 1) です。

  • 一般に、整数変数はデフォルトで int 型になります。 デフォルト値は 0 です。 例: int a = 100000、int b = -200000。

  • 長い:
  • long データ型は、2 の補数で表される 64 ビットの符号付き整数です。 最小値は -9,223,372,036,854,775,808 (-2^63) です。 最大値は 9,223,372,036,854,775,807 (2^63 -1) です。 この型は主に大きな整数を比較する必要があるシステムで使用されます

    デフォルト値は 0L です。 例: ロング a = 100000L、ロング b = -200000L。

    • フロート:
    • float データ型は、IEEE 754 標準に準拠する単精度 32 ビット浮動小数点数です。 float は、大きな浮動小数点配列を保存するときにメモリ領域を節約できます
    • デフォルト値は 0.0f です。 浮動小数点数は通貨などの正確な値を表すために使用できません
    • 例: float f1 = 234.5f。
    • ダブル:

    double データ型は、倍精度、64 ビット、IEEE 754 準拠の浮動小数点数です。 浮動小数点数のデフォルトの型は double 型です。 double 型は、通貨

      などの正確な値を表すこともできません。 デフォルト値は 0.0d です。 例: ダブル d1 = 123.4。
    • ブール値:

    • ブール型データ型は 1 ビットの情報を表します。 値は true と false の 2 つだけです。 このタイプは、真/偽の状況を記録するためのフラグとしてのみ使用されます。

    • デフォルト値は false です。 例: ブール値 1 = true。

    • 文字:

    char 型は単一の 16 ビット Unicode 文字です

    • 最小値は 'u0000' (つまり 0) です。 最大値は 'uffff' (つまり 65,535) です。 char データ型には任意の文字を格納できます

    • 例: 文字 = 'A'。


    • インスタンス
    • public class PrimitiveTypeTest {  
          public static void main(String[] args) {  
              // byte  
              System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);  
              System.out.println("包装类:java.lang.Byte");  
              System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);  
              System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);  
              System.out.println();  
        
              // short  
              System.out.println("基本类型:short 二进制位数:" + Short.SIZE);  
              System.out.println("包装类:java.lang.Short");  
              System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  
              System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  
              System.out.println();  
        
              // int  
              System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  
              System.out.println("包装类:java.lang.Integer");  
              System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
              System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
              System.out.println();  
        
              // long  
              System.out.println("基本类型:long 二进制位数:" + Long.SIZE);  
              System.out.println("包装类:java.lang.Long");  
              System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  
              System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  
              System.out.println();  
        
              // float  
              System.out.println("基本类型:float 二进制位数:" + Float.SIZE);  
              System.out.println("包装类:java.lang.Float");  
              System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  
              System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  
              System.out.println();  
        
              // double  
              System.out.println("基本类型:double 二进制位数:" + Double.SIZE);  
              System.out.println("包装类:java.lang.Double");  
              System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  
              System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  
              System.out.println();  
        
              // char  
              System.out.println("基本类型:char 二进制位数:" + Character.SIZE);  
              System.out.println("包装类:java.lang.Character");  
              // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台  
              System.out.println("最小值:Character.MIN_VALUE="  
                      + (int) Character.MIN_VALUE);  
              // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台  
              System.out.println("最大值:Character.MAX_VALUE="  
                      + (int) Character.MAX_VALUE);  
          }  
      }

    • インスタンスの実行 »
    • 「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します

    • 上記のコードをコンパイルした出力結果は以下の通りです:

      基本类型:byte 二进制位数:8
      包装类:java.lang.Byte
      最小值:Byte.MIN_VALUE=-128
      最大值:Byte.MAX_VALUE=127
      
      基本类型:short 二进制位数:16
      包装类:java.lang.Short
      最小值:Short.MIN_VALUE=-32768
      最大值:Short.MAX_VALUE=32767
      
      基本类型:int 二进制位数:32
      包装类:java.lang.Integer
      最小值:Integer.MIN_VALUE=-2147483648
      最大值:Integer.MAX_VALUE=2147483647
      
      基本类型:long 二进制位数:64
      包装类:java.lang.Long
      最小值:Long.MIN_VALUE=-9223372036854775808
      最大值:Long.MAX_VALUE=9223372036854775807
      
      基本类型:float 二进制位数:32
      包装类:java.lang.Float
      最小值:Float.MIN_VALUE=1.4E-45
      最大值:Float.MAX_VALUE=3.4028235E38
      
      基本类型:double 二进制位数:64
      包装类:java.lang.Double
      最小值:Double.MIN_VALUE=4.9E-324
      最大值:Double.MAX_VALUE=1.7976931348623157E308
      
      基本类型:char 二进制位数:16
      包装类:java.lang.Character
      最小值:Character.MIN_VALUE=0
      最大值:Character.MAX_VALUE=65535

      FloatとDoubleの最小値と最大値が科学表記法で出力されます。末尾の「E+数値」は、Eの前の数値が次であることを意味します。 10を何乗するか。たとえば、3.14E3 は 3.14 × 103 =3140、3.14E-3 は 3.14 × 10-3 =0.00314 です。

      実際、JAVA には別の基本型 void があり、これにも対応するパッケージング クラス java.lang.Void がありますが、それらを直接操作することはできません。


      参照タイプ

      • Java では、参照型変数は C/C++ のポインターに非常に似ています。参照型はオブジェクトを指し、オブジェクトを指す変数は参照変数です。これらの変数は、宣言時に Employee、Pubby などの特定の型として指定されます。変数が宣言されると、その型を変更することはできません。

      • オブジェクトと配列は参照データ型です。

      • すべての参照型のデフォルト値は null です。

      • 参照変数は、互換性のある任意の型を参照するために使用できます。

      • 例: サイト site = new Site("php")。


      Java 定数

      定数は、プログラムの実行中に変更されない量です。

      Java では、final キーワードを使用して定数を変更します。宣言方法は変数と似ています:

      final double PI = 3.1415927;

      定数名は小文字でも使用できますが、識別しやすいように、通常は定数を表すために大文字が使用されます。

      リテラルは、任​​意の組み込み型の変数に割り当てることができます。例:

      byte a = 68;
      char a = 'A'

      byte、int、long、short はすべて 10 進数、16 進数、8 進数で表現できます。

      定数を使用する場合、接頭辞 0 は 8 進数を表し、接頭辞 0x は 16 進数を表します。例:

      int decimal = 100;
      int octal = 0144;
      int hexa =  0x64;

      他の言語と同様、Java の文字列定数も 2 つの引用符の間に含まれる文字のシーケンスです。以下は文字列リテラルの例です:

      "Hello World"
      "two\nlines"
      "\"This is in quotes\""

      文字列定数と文字定数の両方に、任意の Unicode 文字を含めることができます。例:

      char a = '\u0001';
      String a = "\u0001";

      Java 言語は、いくつかの特別なエスケープ文字シーケンスをサポートしています。

      シンボル 文字の意味
      n 改行(0x0a)
      r (0x0d)を入力してください
      f フォーム フィード文字 (0x0c)
      b バックスペース (0x08)
      s スペース (0x20)
      t タブ文字
      二重引用符
      ' 一重引用符
      \ バックスラッシュ
      ddd 8 進文字 (ddd)
      uxxxx Unicode 16 進文字 (xxxx)

      このセクションでは、Java の基本的なデータ型について説明します。次のセクションでは、さまざまな変数の型とその使用法について説明します。