『Javaフレーム構築ベース』Javaベースから-Javaベース知識


1.Java識別子ルール
1.1構成規則
  • 英語大文字
  • 数字
  • $または_

  • 1.2注意事項
  • 数字で始まる
  • はできません.
  • Javaのキーワードではありません
  • 大文字と小文字の区別
  • スペースは使用できません
  • 1.3命名規範【名知意を見なければならない】
  • 下線ネーミング:my_name
  • アルパカ式命名:myName
  • クラス、インタフェースの名前:PersonActivity
  • などの大文字で始まる必要があります.
  • メソッド、変数【文字列】命名:getData()、otherName
  • 定数命名:一般的にはすべて大文字で、例えばMAX_VALUE

  • 2.定数と変数
    2.1定数と変数とは
  • その値が変えられないものを定数
  • と呼ぶ.
  • その値が変化するものを変数
  • と呼ぶ.
    2.2定数
  • 文字列定数二重引用符で囲まれた「hello world」
  • 整数199
  • 小数定数すべての小数4.50
  • 文字定数を単一引用符で含む'a'
  • ブール定数trueとfalse
  • 空定数null
  • 2.3変数
  • は、屋外温度、Appアクティブユーザ量など、値が変化する量を記述するために使用される
  • である.
    3.進数
    3.1進数はどれらがあります
  • バイナリ:0および1接頭辞0 Bまたは0 b例えば:0 B 1001から10進数に移行するのは9
  • である.
  • 8進数:0-7接頭辞0例:0103
  • 十進法【我々がよく使う】:0-9接頭辞なし
  • 16進数:0-9およびA-Fプレフィックス0 xまたは0 X例えば:0 x 123
  • 進数変換:任意の進数を10進数式に変換:係数*底数^指数
  • 0b1010 = 1 * 2^3 + 0 *2^2 + 1*2^1 + 0*2^0
           = 8 + 0 + 2 + 0
           = 10
    
    0123  = 1*8^2 + 2*8^1 + 3*8^0
          = 64 + 16 + 3
          = 83
    
    0x123 = 1*16^2 + 2*16^1 + 3*16^0
          = 256 + 32 + 3
          = 291

    3.2補数
    正数の補数は元の符号と同じである
    5
      :0000 0101
      :0000 0101
        *            1
    
    -5:
      :1000 0101
      :1111 1010
        +         1
    ------------------
        1111 1011

    4.文字コード
    一般的な文字コード
  • ASCIIコード
  • GBKコード
  • Unicodeコード【2バイト占める】
  • 5.演算子
    5.1演算子はどれらがありますか?
  • 算術演算子
  • 賦値演算子
  • 関係演算子
  • 論理演算子
  • 三項演算子
  • 特殊演算子:ビット演算子
  • 5.2算術演算子
    ,-,*,/,%【取余】,+【自加】,--【自減】
    5.3割付演算子
    = , += , -= , *= ,/= , %=
    5.4関係演算子
    == , > , < , >= , <= , !=
    5.5論理演算子
    & ,^ ,| ,&& ,|| ,! , ^
    5.6三項演算子
    a == b ? c:dフォーマット:(条件式)?式1:式2
    5.7ビット演算子
    & , | , ^ , ~ , << , >> , >>>
    6.Java基本文構造
    6.1文構造の種類
  • シーケンス構造
  • 選択構造
  • 循環構造
  • 6.2順序構造
    上から順に実行
    6.3選択構造【ネスト可能】
    if,if else,if else if......elseswitch case【byte,short,char,int,Stringをサポート】
    6.4循環構造
    for
    for(     ;      ;      ) {
                  ;
    }
       :        ,     
       :        
       :       
       :        ,          【  】

    while
         ;
    while(      ) {
             ;
              ;
    }

    do while
    do {
                  ;
    }while((      );

    7.Javaメソッド
    7.1定義
    方法は、特定の機能を完了するコードブロックです.
  • システムメソッドは、使用するだけで、内部の構造を知る必要はありません
  • カスタムメソッド:メソッドの内部実装には
  • と書く必要があります.
  • メソッド内部にネストできないメソッド
  • 7.2形式
  • メソッドフォーマット
  •                  (        , ……){
        
     return    
    }
  • 修飾子:public staticまたは直接publicまたは他のprivate
  • 戻りタイプ:すべてのデータ型(基本タイプ:int,char,float,long,参照タイプ:String)
  • メソッド名:1:見名知意2:getMax
  • パラメータタイプ:すべてのデータ型、メソッドが値を返さない場合、戻り値タイプはvoid
  • です.
  • パラメータ名:変数名
  • 戻り値:戻りたい結果(この結果は戻りタイプと一致する必要があります)
  • です.
    8.配列
    8.1配列概念
    配列は1つのコンテナで、複数の変数を格納することができます.これらの変数のデータ型が一致する配列は、基本データ型を格納することも、参照データ型を格納することもできます.
    8.2次元配列
    配列定義フォーマット
    フォーマット1:データ型【】配列名フォーマット2:データ型配列名【】
    int[] a;          int     a;
    int a[];         int   a  ;
               。

    配列の初期化
  • Javaの配列は、使用する前に初期化する必要があります.
  • 初期化とは、配列内の配列要素にメモリ領域を割り当て、各配列要素に値を割り当てることです.

  • 分類の初期化:
  • a:動的初期化:長さのみを指定し、システムから初期化値
  • を与える.
  • b:静的初期化:初期化値が与えられ、システムによって長さ
  • が決定する.
  • 注意事項:この2つの方法は、1つしか使用できません.動静結合
  • はできません.
    8.3 2 D配列
    配列定義フォーマット
  • データ型[][]変数名=newデータ型[m][n];
  • mは、この2次元配列が何個の1次元配列を有するかを示す
  • nは、各1次元配列の要素個数
  • を表す
    例:
    int[][] arr = new int[3][2];
             arr
           3     ,   arr[0],arr[1],arr[2]
           2   ,    arr[m][n]   ,     m+1       n+1   

    9.Javaのメモリ割り当ておよびスタックとスタックの違い
    9.1まずいくつかの概念を理解する
  • スタック
  • スタック
  • メソッド領域
  • ローカルメソッド
  • レジスタ
  • A: :         
        :                     。
    B: :       new     
      :
        a:    new                。
        b:              
            byte,short,int,long  -- 0
            float,double            -- 0.0
            char                    -- '\u0000'
            boolean                -- false
                                 -- null       
        c:           ,           
    C:   :(        )
    D:     :(     )
    E:   :(cpu  )

    10.switchとif-elseの違いを使う
    10.1 switch文の特徴
  • switch文を使用する場合は、浮動小数点タイプまたはlongタイプではなくbyte、char、short、intまたは列挙タイプに一致する式でなければならないことに注意してください.
  • switch文は、式の値を各caseサブ文の定数値と順次比較します.マッチングに成功した場合、break文に遭遇するまでcase文の文を実行します.
  • default文はオプションで、式の値がどのcase文とも一致しない場合、default後の文が実行されます.

  • 10.2 switch文とif-elseの比較
  • if-elseは単純に次々と比較されるだけである.if...elseは条件ごとに計算します.
  • はBinary,Treeアルゴリズムを用いた.ほとんどの場合、if-elseの最初の条件がtrueでない限り、switchは少し速くなります.コンパイラコンパイルswitchはif...else...とは異なります.いくらcaseがあっても、直接ジャンプして、クエリーを1つずつ比較する必要はありません.switchは一度だけ値を計算し、test、jmp......else ifがたくさんある場合、switch caseで比較的はっきりしている
  • switch...caseとif...else,ifの根本的な違いは、switch...caseが実際のcaseブランチのアドレスを示すジャンプテーブルを生成し、このジャンプテーブルのインデックス番号はswitch変数の値と等しいことです.したがって、switch...caseはif...elseのように条件分岐をヒット条件まで遍歴する必要はなく、対応するインデックス番号のテーブル項目にアクセスしてブランチを位置決めする目的を達成するだけである.