JAVA Primitive Type


データ型


Javaデータ型には、基本タイプと参照タイプがあります.基本タイプは数字型と論理型に分けられ、数字型は整数型と実数型に分けられる.
デフォルトのデータ型の変数は、宣言後にJavaのメモリ領域のスタック領域に格納されます.
整数文字実数論理1バイト--ブール2バイトshortchar--4バイトint-float-8バイトlong-double-

整数型


コンピュータ内部で整数を表す場合は、バイナリ数を処理します.

  • byte (-128 ~ 127)
    主にバイト単位の情報を格納または通信するために使用されます.

  • short (-32,768 ~ 32,767)

  • int (-2,147,483,648 ~ 2,147,483,647)
    真髄を表すときに最もよく使われる資料型です.コンピュータ上で整数演算を行う場合、4バイト単位で処理するのが最も有効であるため、Javaコンパイラは基本的にすべての数字をint型に変換して処理し、宣言されたデータ型に復元する.

  • long (-9,233,372,036,854,775,808 ~ 9,233,372,036,854,775,807)
    Javaコンパイラは整数をintタイプに処理するため、int範囲外の数字をlongタイプに入れるとエラーが発生します.コンパイラにこの数字を長く処理すると、エラーが発生しないように、数字の後ろにLを付けて解決します.
  • 
    long num1 = 2147483700; // 오류
    long num1 = 2147483700L;
    
  • char (0 ~ 65535)
    charは主に文字を表現するための資料型であり,유니코드に対応して符号化される.

  • Cでは、char型符号化はASCIIコードに対応する.このときchar型の集合,つまりchar型のポインタが文字列として扱われ,Javaもこのように処理できるのでしょうか.
    public class Main {
        public static void main(String[] args) {
            char[] charArr = {'a', 'b', 'c', 'd', 'e'};
    
            for(char x : charArr) {
                System.out.print(x);
            }
            System.out.println();
            
            String str = "abcde";
            System.out.print(str);
        }
    }
    可能ですが、JavaはStringという資料型を提供しています.本資料型は参考に供するだけで,後で詳しく論じる

    実数型


    コンピュータ内部でエラーを表す場合は、整数とは異なる浮動小数点方式を使用します.これは、整数を表す方法と同様に、メモリを3つの部分(シンボル、整数、小数)に分割すると、表すことができる数の範囲が小さくなるためです.

    浮動小数点方式



    実数0.1を浮動小数点で表す方式です.このように数、指数部分を分けて実数値を表すことを浮動小数点方式と呼ぶ.
    パソコンは2進数を使っているので、ベースは2で、歌手が正規化する過程は1です.n形式になる.浮動小数点方式は±(1.可数部)×2^(指数フロー-127)形式で表現します.
    たとえば、実数値0.4を表すために、コンピュータは内部で0.2を表すために、1.6*2^(-3)のような浮動小数点数式を生成します.

    浮動小数点方式と誤差


    2を底数とする浮動小数点で表される小数点を10進数に変換すると誤差が生じるため、計算機で表される小数は近似値に過ぎず、正確な値とは考えられない.
    public class Main {
        public static void main(String[] args) {
            double num = 0.1;
            for(int i = 0; i < 1000; i++) {
                num += 0.1;
            }
            System.out.print(num);
        }
    }
    // 100.09999999999859
    したがって、浮動小数点で表される0.1は、10進数の0.1に等しくない.
    では、メモリにどのように格納しますか?

  • double


  • float

    Javaは基本的に小数型データは二重入力であると考えられる.したがってflaot型変数に小数を入力するとエラーが発生し、long型の処理と同様に小数の後にfを付けるだけで解決します.
  • Default Value


    場合によっては、初期化変数がなくても自動初期化される場合があり、このとき自動初期化される値はDefault Valueとなります.
  • バイト、short、int、longタイプ0
  • 文字タイプは「0」、
  • float,デュアルタイプ0.0
  • ブール型false,