Javaベースのデータ型、修飾子、配列


1.データ型
  • Javaはデータ型を基本型と参照型に分け、データ型の詳細分類は以下の通りである:
  • メモリにはバイナリデータ形式しか格納できません.バイナリデータストリームは8ビットで、1ビット(bit)と8ビット(byte)と呼ばれます.
  • 8種類の基本データ型の詳細:ブール型boolean:C言語とは異なり、Javaではbooleanタイプの変数に整数またはnullを割り当てることはできません.デフォルトはfalseです.byte、short、int、longタイプ:いずれもシンボル整数タイプであり、バイナリ数の先頭はシンボルビットであり、8進数(「0」で始まる)と16進数(「0 x」で始まる)は整数タイプ変数に値を割り当てることができる.
  • 参照タイプ1.クラス参照タイプ、インタフェース参照タイプ、配列参照タイプに分けられ、参照タイプの変数にかかわらずオブジェクトが参照されます.オブジェクトを参照しない場合はnullとして割り当てます.2.参照タイプ変数は、スタック領域のインスタンスを指すポインタです.3.newを使用してスタック領域にオブジェクトを作成し、参照変数はそれ自体の役割ドメインに依存します.4.次のコードは、beibeiがクラスDoll参照タイプ変数であり、new Doll(「beibei」)がクラスDollタイプである.
  • Doll beibei = new Doll("beibei");
  • オブジェクトのデフォルト参照thisすべてのオブジェクトのデフォルト参照はthisと呼ばれ、Java仮想マシンはthisが参照しているオブジェクトが
  • であることを明確に知っています.
    2.Java修飾子
    2.1アクセス制御修飾子
  • アクセス制御修飾子にはpublic protected private defaultの4種類があり、最上位クラスは公開またはデフォルトのアクセスレベルにのみ使用でき、アクセスレベルはローカル変数にのみ適用され、4つのレベルのアクセス可能範囲は図:
  • クラスでは、クラス自体または内部クラスのインスタンスのプライベートメンバーにアクセスできます.

  • 2.2 abstract修飾子(抽象)
  • 抽象クラス:インスタンス化できない具体的なクラス:インスタンス化できる
  • 抽象方法:方法体がない具体的な方法:方法体がある
  • 1.抽象クラスはインスタンス化されず、具体的なサブクラスが継承された後、親クラスのすべての抽象メソッドが実現され、サブクラスがインスタンス化される.2.抽象クラスには抽象メソッドはありませんが、抽象メソッドを含むクラスは抽象として定義する必要があります.3.抽象構造方法がなく、抽象静的方法もなく、非抽象的な構造方法があり、参照変数を作成し、非抽象的なサブクラスを参照することができる.例:
  • abstract class Base{}
    class Sub extends Base{
        public static void main(String args[]){
            Base base1 = new Sub();
        }
    }

    2.3 final修飾子
  • 1.変更できない、修飾非抽象クラス、非抽象メンバーメソッドと変数2.finalクラスは継承できない、サブクラス3.finalメソッドがないとクラスに分類できないメソッドは4.final変数表現定数をカバーできない、一度の値
  • しか与えられない
  • 注意点:静的定数は一般的に大文字で命名され、単語間は「」で命名されます.シンボル分割final変数は、初期化を表示する必要があります.そうしないと、コンパイルエラーが発生します.

  • 2.4 static修飾子
  • 1.修飾クラスのメンバー変数、メンバーメソッド、およびコードブロック2.直接クラス名によってアクセスする3.被クラスのすべてのインスタンスは
  • を共有する.
  • 静的変数:メモリが1回しか割り当てられず、コピーが1つしかありません.静的メソッド:属するクラスに直接アクセスする静的変数と静的メソッドで、this、super、abstractキーワードを使用することはできません.非静的変数にアクセスすることはできません.クラスインスタンスの参照によってインスタンスメソッドとインスタンス変数にアクセスできます.staticコードブロック:メソッドボディには存在せず、順序で1回のみ実行し、クラスをロードしながら静的コードブロックを実行し、main()メソッドを実行します.

  • 3.配列
    3.1配列の宣言
  • 次元配列:
  • int[] scores;// int scores[];
    String[] names;// Sting names[];
  • 2 2 D配列:
  • int x[][];// int [][]x;

    3.2配列の初期化
  • 配列が作成されると、各要素にデータ型のデフォルト値が自動的に付与され、初期化は以下のように表示されます:配列要素の個数が限られており、列挙法、無限であればループ:
  • を使用します.
        int[] x= new int[]{5,4,3,2,1};
        char[] y= new char[]{'a','b','c','d'};
        int[] x=new int[5];
            for(int i=0;i<x.length;i++)
                x[i]=x.length-i;
            }

    3.3多次元配列
    いわゆる配列を作成するには、低次元から高次元の順に作成する必要があります.
            String[][] s = new String[3][];
            String[][][] ss = new String[2][3][];

    3.4 Arraysクラス
  • equals():2つの配列が同じかどうかを比較する
  • fill():配列にデータを埋め込む
  • sort():配列中の要素を昇順に
  • 並べ替える.
  • binarySearch():配列内の値が所与のデータと同じ要素を検索する
  • 3.5注意点
    1.Javaクラスのプログラムエントリメソッドmain(String args[])は、実行時にパラメータがない場合、argsは長さ0の配列です.2.配列オブジェクトの作成後、配列の長さは変更できません.