JAVA STUDY(with whiteship)2週目


Javaデータ型、変数、配列


n/a.ターゲット


Javaの基本タイプ、変数、配列の使用方法を熟知しています.

目次

  • 基本タイプと値の範囲およびデフォルト
  • 基本タイプおよび参照タイプ
  • 文字
  • 変数を宣言および初期化する方法
  • 変数のスキャンとライフサイクル
  • タイプ変換、鋳造、およびタイプアップグレード
  • 1回および2回アレイ宣言
  • 類型推論,var
  • 1.基本タイプと値の範囲およびデフォルト


    基本タイプ.直訳は基本型です.
    デフォルト値があるため、空の値は存在せず、それぞれにデフォルト値があります.
    値の範囲とデフォルト値は次のとおりです.

    (出典:https://gbsb.tistory.com/6)
    データ表示の範囲は、割り当てられたメモリサイズに関連付けることができます.

    まず、整数型であれば、
    1 bitは、バイナリ数字を表すことができる大きさです.
    1 byteは8ビットで、2進数8ビットを表すことができます.
    すなわち、2の8乗で計算すると、256は整数を表すことができる.
    8位のうち最前列の位は0が正、1が負、記号、残りの7位が数字です.
    すなわち、1バイト時のデータ表示範囲は「-128~127」である.
    ミスなら、
    浮動小数点タイプ(4 byte)と2タイプ(8 byte)は浮動小数点で表されます.
    浮動小数点は指数が10の平方で小数点を表す方式である.
    floatタイプはシンボル(1ビット)を表し、先頭のビットは整数ビットと同様に正、負を表す.
    指数(10の平方数)8桁、数字(数字)23桁で表します.
    doubleタイプの記号は同じで、もちろん1ビットです.
    指数11位、歌手52位.

    2.基本型と参考型



    (出典:https://m.blog.naver.com/PostView.nhn?blogId=highkrs&logNo=220242895539&proxyReferer=https:%2F%2Fwww.google.com%2F)
    (1) Primitive Type
  • Primitiveタイプにはbyte、short、char、int、float、double、booleanがあります.
  • Primitive Typeは小さくて固定されているので、メモリのスタックに格納されます.
  • デフォルト値があり、NULL値はありません.
  • 変数を使用したメソッドが終了または使用されたオブジェクトが消失した場合に自動的に破壊
  • (2) Reference Type
  • Reference typeにはclass、array、interface、Enumerationがあります.
  • newキーワードは、生成されたデータのアドレスを参照するオブジェクトを作成するために使用される.
    Stringと配列は参照タイプとは異なり、newなしで作成できますが、PrimitiveタイプではなくReferenceタイプです.
  • primitypeは、変数に値を格納するのとは異なり、値を格納するメモリアドレス(heap領域)を指す.
  • デフォルト値なし、Null
  • より多くの参照変数がない場合、不要な集合によって破壊されます.
  • 3.立体的

    long count = 10000L;
    
    float f1 = 2.3F;
    
    double d1 = 5.6D;
    
    char c1 = 'A'
    literalは、上記の10000 L、2.3 F、5.6 D、および「A」のような変数に割り当てられたデータをliteralとして表す.
    この文字を定数として宣言し、定数変数を使用してプログラムを記述すると、コードを修正するコストを最小限に抑え、コードをよりきれいにすることができます.
    文字のタイプは、値の後ろにl、f、dを付けるように定義できます.
    long age=50 Lこのようにして、50をlongタイプのリフトパネルとして表すことができる.floatはf double銀色dを文字の後ろに貼ることができます.
    文字の後ろに接尾辞がない場合、整数型はint型、実数型は二重型です.
    したがって、floatタイプの変数に基本文字3.14を加えると、より精度の高い文字がより低いタイプに入り、エラーが発生する.したがって、floatタイプに実数を加える場合は、f接尾辞を付ける必要があります.

    4.変数の宣言と初期化方法

    int num;
    char c;
    float f1 = 3.14f;
    double f2 = 3.14;
    String str = "hi"
    5変数を宣言した.
    [データ型変数名;]として宣言できます.
    [データ型変数名=変数値;宣言と同時に初期化を行うには、を使用します.

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


    重要なのは、変数がどの位置で明示的に使用できるか、および変数がメモリに保持されている位置です.これを変数のscopeとlife timeと見なすことができます.
    クラスに宣言するかどうか、静的キーワードが含まれているかどうか、blockに含まれているかどうか.
    大きく三つに分けられる.
  • Instance Variables
  • クラスで宣言
  • 他のメソッドまたはブロックで宣言されていません
    Scope:静的メソッド以外のすべてのクラス
    Lifetime:オブジェクトはメモリに残っています
  • Class Variables
  • 上記Instance Variables条件に他の静的キーワードを含む宣言変数
    Scope:クラス全体
    Lifetime:アプリケーションが終了するまで、orクラスはメモリに
  • Local Variables
    Instance Variables、Class Variablesは変数です
    Scope:変数が属するブロック
    Lifetime:変数が宣言されたブロックから離れて動作しなくなった場合
  • 6.タイプ変換、鋳造、およびタイプアップグレード


  • タイプ変換
    異なるタイプのデータを異なるタイプのデータに変換
    タイプアップグレード(自動変換)と鋳造(明示的変換)に分けられます.

  • タイプ販促
    ex)
    int i = 'A';
    double d = 10;
    char c = 1.23;
    int ii = -1.23;
    代入演算子(=)を基準として、左と右のデータ型が一致しない場合、コンパイラによって自動的に変換されます.
    既存の資料型より広い範囲の資料型に自動的に変換され、資料型の優先順位は以下の通りである.
    byte -> short,char -> int -> long -> float -> double
    優先度に違反すると、データが失われ、コンパイルエラーが発生します.

  • かくせんたく
    変換シェイプ演算子を使用して、タイプを意図的に宣言して変換します.強制タイプ変換とも呼ばれます.
    上記のタイプのアップグレードとは異なり、コード内のタイプ変換の可視性です.
    鋳造方法に変換する場合は、変換するデータの前にカッコ()を入力し、カッコ内で変換するタイプを指定します.
    ex)
    int i = (int)12.345;
    float f = (float)12;
  • 7.マスターおよびセカンダリ・スキーマの宣言

  • サイズを割り当て、アレイ参照変数のみを宣言して初期化しない
  • int[] arr;
    int arr[];
  • 宣言&割当配列サイズ
  • int[] arr = new int[5];
    String[] arr = new String[5];
  • 既存宣言配列の参照変数を使用して初期化
  • int[] arr;
    arr = new int[5]; // 5의 크기, 초기값은 0으로 채워진 배열이다.
    int[] arr = {1,2,3,4,5}; // 마찬가지로 자동으로 5의 크기를 가짐
  • アレイサイズの指定と初期化を宣言しながら
  • int[] arr = new int[]{1,2,3,4,5};
    int[] arr2 = {1,2,3,4,5};
    String[] fireWeekend = {"금","토","일"};
  • 2 Dアレイ
  • int[][] arr = new int[4][3]; //3의 크기를 4개 가지는 2차원 배열
    int[][] arr = { {1,2,3}, {2,3,4}, {3,4,5,}, {4,5,6} };
    // arr[0] >> {1,2,3}
    // arr[1] >> {2,3,4}
    // arr[2] >> {3,4,5}
    // arr[3] >> {4,5,6}
  • オブジェクト配列
    Primitive type配列には初期値(int=0/string="")があります.
    Reference type配列が宣言されている場合は、配列内の要素の初期値がnullであることに注意してください.
  • これは上のディレクトリ2です.の内容
    元のタイプの変数にはデフォルト値がありますが、Referenceタイプの変数にはデフォルト値がありません.したがって、空の値が記載されている部分は脈々と受け継がれています.
    // 객체(Class) 배열 선언
    Student[] StudentArr = new Student[5];     //Student Class의 인스턴스 최대 5개 할당할 수 있는 배열
    //StudentArr[0] >> null
    //StudentArr[1] >> null
    //StudentArr[2] >> null

    8.類型推論、var

  • 自動割当データ型のリソース
  • ゾーン変数で初期化が必要です.
  • java 10提供
  • JavaScriptからタイプスクリプトに移行する際、Javaにvarキーワードを追加する理由を調べました...
    1つ目はjava開発チームが低互換性の目的で追加したものです.
    また、JavaのようなC#ではvarキーワードが役に立つ場合があります.
    匿名クラスとLINQ.
    Javaに適用するには、後から学習予定のJENICとインタフェースの概念が必要らしい.