JAva基本功強固-変数


変数#ヘンスウ#


変数とは、1つの値を格納できるメモリ領域です.Javaでは、変数タイプを基本タイプ(primitive type)と参照タイプ(referencetype)に分けることができます.
  • 変数命名規則
  • の大文字と小文字を区別して、長さは制限しません
  • TrueとTrueは異なると見なされる.
  • 予約語は使用できません.
  • trueは予約語で使用できませんが、Trueは可能です.
  • の数字で始めることはできません.
  • top 10は許可されていますが、7 upは許可されていません.
  • 特殊文字は「」と「$」のみを許可します.
  • $harpの使用は許可されていますが、S#arpの使用は許可されていません.
  • 変数名の作成時に推奨されるルール
  • クラス名の頭文字は常に大文字です.
  • 変数とメソッド名の最初のアルファベットは常に小文字です.
  • 以上の単語からなる名前で、単語の頭文字が大文字です.
  • lastIndexOf, Stringbuffer
  • グラムリンコード[4]
  • の意図をはっきり言う.
  • 変数名を決定する場合は、意図を明確に使用します.
  • エラーメッセージの回避
  • プログラマーの場合、特殊な意味に似た単語を誤用したり使用したりしないでください.
  • 有意義地区分
  • は単純なコピーの場合、a,bのような変数名ではなく、ソースやターゲットと同じ意味のある名前を使用します.
  • 変数名を作成するときの一般的なミーティング

  • 変数に小文字キャメル表記法を適用[1]
    非常数クラスのメンバー変数/領域変数/メソッドパラメータには、小文字のキャメル記号を使用します.
  • 悪例
    private boolean Authorized;
    private int AccessToken;
    よい例
    private boolean authorized;
    private int accessToken;

    基本タイプ(Primitive Type)


    デフォルトのタイプ変数は、実際の値(データ)を格納する変数のタイプです.
    実際の値は論理型、文字型、整数型、実数型であり、計算に用いる実際の値が存在する.
    ---1 B yte 2 Byte 4 Byte 8バイト整数型byteshortintlong実数型---浮動小数点数二文字型---char論理型boolean
    整数のデフォルトタイプ:int
    実数型の基本タイプ:double
  • 文字タイプはc言語と異なりUnicode(約65000文字)をサポートしているため、2 byteの使用が許可されている.[3]
  • JDK 1.7から整数整数の中間に区切り記号「」を付けることで、大きな数字を簡単に読み取ることができます.
    ex) long big = 100_000_000_000L;
  • 参照タイプ


    参照タイプ変数は、ある値を格納するアドレス(メモリアドレス)値を格納する変数タイプです.
  • 参照タイプ
  • アレイ
  • クラス
  • 列挙型(enum)
  • インタフェース
  • 参照変数のサイズは、JVMによって32ビット->4バイト、64ビット->8バイトです.

    せいけいかん


    成形遷移は、変数または定数のタイプを別のタイプに変換します.
  • インチの移行例
  • 変換式の結果はint->char(char)65"A"char->int(int)「A」65 float->int(int)1.5 f 1 int->float(float)110.0 f
  • 自動変換
  • 異なるタイプ間の代入や演算を行う場合、原則として形変換によってタイプを一致させる.ただし場合によっては勝手な変換は省略できます.(コンパイラは省略された変換を自動的に追加します.)
    自動変換のルール:既存の値を最大限に保持できるタイプに自動的に変換されます.
    자동 형변환 가능 방향 : A->B (A에서 B로 자동 형변환 가능)
    byte(1byte) -> short(2byte) -> int(4byte) -> long(8byte) -> float(4byte) -> double(8byte)
    char(2byte) 타입은 int 타입으로 자동형변환 가능
  • インチ変換の注意事項
  • booleanを除いて,残りの7つの基本型は互いに変換できる.
  • 基本型と参照型は互いに変換できない.
  • 異なるタイプの変数間の演算原則は、形変換を行うことであるが、値範囲の小さいタイプから大きなタイプへの形変換を省略することができる.
  • ていすう


    Javaにはいわゆる定数型は存在しない.したがって、通常、不変値を表す変数を使用する場合、アクセス制御者finalによって変数を定数として指定します.(enum, 열거형으로도 비슷한 표현이 가능하다.)一般定数変数名はすべて大文字で、単語間の区別を区別するためにベースコード()を使用します.定数は宣言と同時に初期化して使用する必要があります.
    ex) PI, MAX_NUMBER
    CLINE CODE:意味のある検索しやすい名前を使います.名前がなかなか見つからないし、デバッグも難しいので、あまり使わない文字で命名したほうがいいです.[4]
    final:変数の初期化後、変数は値を変更できない状態になります.

    テキスト


    Javaでは、文字は値そのものを指します.前述した変数または定数に割り当てられた値自体を実数と呼ぶ.
  • 文字列のリットル
    文字列を他のタイプと一緒に使用すると、文字列テキストにマージされます.
  • ex)
    文字列+any type->文字列+文字列->文字列
    any type+文字列->文字列+文字列->文字列
    変数(variable):値を格納するスペース
    定数(constant):一度だけ値を格納するスペース
    文字(literal):値自体を表す

    接尾辞


    文学のジャンルも存在する.整数型数字はint型,実数型数字は二重型と識別される.
    クラス文字接尾辞論理型false、trueなし整数型123、0 b 010077、0 xFF、100 LL実数型3.14、3.0 e 8、1.4 f、0 x 1.0 p-1 f,d文字「A」,「1」,「n」文字列なし「ABC」,「123」,「A」,「true」なし

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


    変数は、宣言された場所に応じてアクセス可能な範囲があります.したがって、変数のライフサイクルも使用を決定することができます.

    変数のタイプ

  • クラス内部変数
  • クラス変数(クラス変数)
  • インスタンス変数
  • ブロック内部変数
  • 地域変数(ローカル変数)
  • インスタンス変数


    Javaでクラスに宣言された変数は、クラスでアクセス可能でメンテナンス可能です.
    次の例では、testクラス内部value変数のscopeをクラス内部グローバルで使用できます.ライフサイクルは、クラスがオブジェクトとして割り当てられ、hipにロードされるまで、クラスが解除されます.
    class TestClass {
        int value;
        TestClass (int value) {
        	this.value = value;
        }
        ...
    }

    クラス変数


    クラス変数(=staticキーワード)は、前述の内容でやや異なります.インスタンスを作成する前に、クラス・ローダは静的キーとして指定された変数をメソッド領域に事前にロードするため、インスタンスを作成する前にこの変数を使用できます.
    class TestClass {
        static int staticValue;
        ...
    }
    
    // 클래스에서 직접 접근 가능
    System.out.println(TestClass.staticValue);
    さらに、静的キーワード関数は、追加の例外として、通常のインスタンス変数を通常の方法で使用することはできません.
    class TestClass {
        static int staticValue;
        int value
        ...
        
        public static void variableTest() {
            value = 0; // 에러
        }
    }
    これは、静的相関メソッドまたは変数がプライマリ・オペレーションの前にクラス・ローダによってメソッド領域に予め割り当てられているため、一般的なインスタンス変数はメモリに存在しないため、問題が発生します.
    要するに、静的キーワード変数は、プログラムの実行からメソッド領域にロードされるため、クラスで常に使用可能であり、一定のままである.

    ブロック内部変数


    ブロック内部変数(領域変数)は、特定のブロック内部で宣言され、保持され、ブロックが終了すると消えます.
    次のブロックの例では、スキャンとライフサイクル時間を示します.
  • 一般ブロックおよび反復文ブロック
  • ブロックの内部宣言では、ブロック内でのみアクセスおよび使用できます.
  • 関数呼び出し時のパラメータ値
  • 関数呼び出しでは、パラメータ値として入力される変数も領域変数である.
  • {
        int value; // 지역변수
    }
    
    while (true) {
        int value; // 지역변수
    }
    
    for (;;) {
        int value; // 지역변수
    }
    
    public void test(int value, String[] args) { // 지역변수
        ...
    }

    varタイプ


    varはJava 10バージョンから提供される変数タイプです.Java 11バージョンからRamdaがサポートできるようになりました.[5,6]
    c++のautoのようにタイプ推定を行うことができ,以下に示すことができる.
    var list = new ArrayList<String>(); // infers ArrayList<String>
    var stream = list.stream();         // infers Stream<String>
    ...
    for (var person : personList) {
        // ...
    }

    内容を整理する



    この文章はJava言語の基礎を築くために書かれたものです.
    この文書のエラーまたは追加する必要がある内容は次のとおりです[email protected]分かち合えばありがたいです
    文章全体がjavaの定式を参照しているので、文に参照マークを付けていません.
  • を参照
  • NAVER会議
  • 白旗仙-ジャバステディ
  • [C言語で見られる]Java(Java)のデータ型
  • 2つの意味ある名前
  • OpenJDK
  • Java 10でのvarの再使用
  • javaの経典の書籍3 rd Edition