第2週目:Javaデータ型、変数、配列

5062 ワード

n/a.ターゲット
Javaの基本タイプ、変数、配列の使用方法について説明します.
勉強する
  • 基本タイプと値の範囲およびデフォルト
  • 基本タイプおよび参照タイプ
  • 文字
  • 変数を宣言および初期化する方法
  • 変数のスキャンとライフサイクル
  • タイプ変換、鋳造、およびタイプアップグレード
  • 1回および2回アレイ宣言
  • 類型推論,var
  • 基本タイプと値の範囲とデフォルト


    出典:https://parkadd.tistory.com/38
    Primitive Type(ベーシックタイプ)は4種類に分けられます.
  • 整数:byte、short、int、long
  • 実数:float,double
  • 文字:char
  • ロジック:boolean
  • デフォルトタイプは8種類あり、デフォルト値(default)が存在するため空の値は存在せず、デフォルトタイプの変数は実際の値に格納され、変数を宣言するとStack領域に格納され、格納可能なサイズより大きい値を入れようとするとコンパイルエラーが発生します.
    Booleanが1 bitではなく1 byteであるのは,CPUがメモリを1バイト単位で割り当てるためである.
    Charは、1文字を格納し、文字のUnicode(整数)を格納し、必要な2 byteを割り当てることができる.
    整数型の表示

    整数型のうちの1 byte(8 bits)は、計算すると2の8平方、512個の数字を表すはずですが、一番前のビットは+を定義するのに使われ、-記号、0もその範囲内の値を含んでいるので、値の範囲は-128~127です.
    誤った表現

    実数型では,符号,指数,加数部に分けて指数の浮動小数点方式を用いて,より大きな数を収容できるが,正確な実数を記憶し,近似値を記憶することはできない.実数は浮動小数点の精度,浮動小数点の精度は7ビット,二重浮動小数点の精度は15ビットである.

    異種

    int a = 2;aは変数名,2は文字である.文字はデータそのものを意味します.
    正数
    整数を表す方法は十進法、二進法、八進法、十六進法があります.
    10진법 20을 표현하는 방법
    int decimal = 20; // 10진법
    int octal = 024 // 0이 붙으면 8진법
    int hexaDecimal = 0x14 // 0x가 붙으면 16진법
    int binary = 0b10100 // ob가 붙으면 2진법
    整数整数の基本型は整数型で、long型を使用する場合は、整数の後にlを付ける必要があります.long a = 100l; or long a = 100L; 実数
    実数文字の基本型はdoubleで、floatタイプの文字はfを加えます.
    double a = 0.1; 
    double a = 1e-1;
    float c = 0.1f;
    テキスト
    文字読み物には「」の小引用符をつけます.char a = 'A';
    System.out.println((int)a);
    Unicodeでは大文字Aの数字が65なので65を出力します.
    特殊文字
    出典:https://mine-it-record.tistory.com/100

    変数を宣言および初期化します。


    ≪変数|Variable|emdw≫:プログラムで使用されるデータを一時的に格納するための値のメモリ領域を格納できます.
    宣言変数は、メモリにデータを格納するスペースを作成し、変数タイプに適切なメモリサイズを割り当てることを意味します.
    変数を宣言します.변수 타입 변수 이름; ex)int a;≪変数タイプ|Variable Type|oraolap≫:変数に格納される値のタイプを決定します.
    変数名:変数の名前を使用して使用できます.
    初期化変数
    変数を宣言すると、メモリに変数の記憶領域が割り当てられますが、値は指定されていません.したがって、初期化と呼ばれる値を指定する必要があります.int a = 10;intタイプの変数aを10に初期化します.

    基本型と参照型


    Javaメモリ構造
    出典:https://dzone.com/articles/java-memory-management
    デフォルトでは、変数と値をStackに格納します.
    参照型では、基本型以外のオブジェクトを継承するクラスであり、実際のインスタンス(オブジェクト)はheapで作成され、インスタンスのアドレスはstackに格納されます.

    変数のスキャンとライフサイクル



    変数のScopeおよびLife timeは、CV、IV(インスタンス変数)、およびLV(領域変数)によって異なります.
    Scope:変数の使用可能範囲
    Lifetime:変数がゴミ収集器によってメモリから消去される時間
    変数のスキャン

    変数のライフサイクル

    タイプ変換、鋳造、およびタイプアップグレード


    選角は大資料型を小資料型に代入する.
    int a = 5;
    byte b = (byte) a;
    大きいから小さいへの変換はリスクがあるので、鋳造演算子は省略できません.
    タイプ販促は、小資料型を大資料型に代入することです.
    long a = 10;
    int b = a;
    リスクがないので、変換は省略できます.
    short typeは2 bytesで、合計16ビットのバイナリで表すことができ、byteは1 bytesなので、8ビットのバイナリで表すことができます.角を選ぶと、2進数の前列から切り始め、値損失が発生する可能性があります.

    プライマリ・アレイとセカンダリ・アレイの宣言


    配列は、同じタイプの複数の変数を組み合わせます.
    イニシアチブ宣言
    int [] arr;
    int arr [];
    タイプに[]または変数名に[]を付けます.
    配列を宣言した後、配列のサイズを指定する必要があります.
    int [] arr = new int[5];
    アレイを初期化します.
    arr[0] = 1;
    arr[1] = 2;
    arr[3] = 5;
    arr[9] = 8;
    宣言と同時に初期化することもできます.
    int[] arr= {1,2,3,4,5}  // 크기가 5인 배열의 선언과 초기화
    サイズ5の配列のインデックスは0~4です.

    arrは、スタック領域配列のアドレス値を有する.
    サブスキーマの宣言
    // 선언과 초기화 동시에
    int [][] arr = {{1,2},{3,4}};
    // 선언 후 초기화 
    int [][] arr = new int[2][2];
    arr[0][0] = 1;
    arr[0][1] = 2;
    arr[1][0] = 3;
    arr[1][1] = 4;

    タイプ推論,var


    タイプ推定とは、コンパイラがソースコードでデータ型を明確にすることなく、コンパイルフェーズでデータ型を推定することです.バージョン1.5で追加が開始されたGenericまたはjava 8で追加されたlamdaでタイプ推論が使用されます.さらにjava 10は、varというローカル可変タイプ情報を追加し、このタイプの推論を使用する.
    var a = "hello";	// String a = "hello";
    var b = 10;		// int b = 10;