JAVAの基礎は更に(3)——方法、重荷、配列、スタックのメモリは割り当てて、配列は遍歴して、最も値を獲得して、2次元の配列


JAVAの基礎は更に(3)——方法、重荷、配列(静的と動態的に初期化します)、スタックのメモリは割り当てて、配列は遍歴して、最も値を獲得して、2次元の配列
私たちのjavaの基礎を勉強し続けます.この文章は主に2つの知識点--方法、配列を勉強します.
一、方法
方法:特定の機能を完成させるコードブロック注意:多くの言語には関数の定義があり、Javaでは関数を方法と呼ぶ.
メソッドのフォーマット:
             (        1,        2...) {
                 ;
            return    ; 
        }

方法のフォーマットを詳しく説明します.
修飾子:public staticを使って、後で他の修飾子について詳しく説明します.戻り値タイプ:機能結果のデータ型です.メソッド名:ネーミング・ルールに合致すればよい.私たちの呼び出しを便利にします.パラメータ:
  • 実際のパラメータ:実際に演算に参加します.
  • 形式パラメータ;メソッド定義で、実際のパラメータを受信するために使用されます.

  • パラメータタイプ:パラメータのデータ型パラメータ名です.変数名メソッド体文です.機能を完了するコードです.return:終了方法です.戻り値:機能の結果であり、returnによって呼び出し者に与えられます.
    一つの方法を書くには、二つのことを明確にしなければなりません.
  • 戻り値タイプ-結果のデータ型
  • パラメータのリスト-いくつかのパラメータを渡す、および各パラメータのデータ型
  • 一緒にDemoを書きましょう.
    public class FunctionDemo {
        public static void main(String[] args) {
            int x = 10;
            int y = 20;
            //    
            int result = sum(x,y);
            System.out.println(result);
        }
    
        /* *   :     :int *     :2 ,  int   */
        public static int sum(int a,int b){
    
            return a + b;
        }
    }

    出力結果:30
    方法の注意事項:
    1.メソッド呼び出しなし実行2.メソッドとメソッドは平レベルの関係であり、定義をネストすることはできない.メソッド定義時にパラメータ間をカンマで区切る4.メソッド呼び出し時にデータ型5を渡す必要はない.メソッドに明確な戻り値がある場合は、returnが値を持ち帰る必要があります.
    二、重荷
  • メソッドのリロードの概要
  • 同じクラスでは、パラメータの個数またはパラメータタイプが異なる限り、同じ名前のメソッドが1つ以上存在することを許可します.

  • メソッドリロードフィーチャー
  • は、戻り値タイプに関係なく、メソッド名およびパラメータリスト
  • のみを参照する.
  • 呼び出し時に、仮想マシンは、パラメータリストによって同名メソッド
  • を区別する.

    デモを書きましょう!
    public class FunctionTest {
        public static void main(String[] args) {
    
            System.out.println(sum(20, 30));
            System.out.println(sum(20, 30, 40));
            System.out.println(sum(20, 30, 40, 50));
        }
    
        //   1:      
        public static int sum(int a, int b) {
            return a + b;
        }
    
        //   2:     
    
        public static int sum(int a, int b, int c) {
            return a + b + c;
        }
    
        //   3:      
        public static int sum(int a, int b, int c, int d) {
            return a + b + c + d;
        }
    }

    三、配列
  • 配列概念
  • 配列は、同じデータ型の複数の要素を格納する集合である.容器と見なすこともできます.
  • 配列は、基本データ型を格納してもよいし、参照データ型を格納してもよい.

  • 配列フォーマット
  • フォーマット1:データ型[]配列名;
  • フォーマット2:データ型配列名[];
  • 注意:この2つのフォーマットでは、配列には要素値がありません.配列の要素を初期化します.

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

  • 配列の初期化方法:
  • 動的初期化:初期化時に配列長のみを指定し、システムによって配列に初期値を割り当てます.
  • 静的初期化:初期化時に各配列要素の初期値を指定し、システムによって配列長を決定します.


  • まず動的初期化を学びましょう.フォーマット:データ型[]配列名=newデータ型[配列長];配列の長さは、配列内の要素の個数です.
    int[] arr = new int[3];
    //  :     int     ,         3 int    。

    静的初期化フォーマット:データ型[]配列名=newデータ型[]{要素1,要素2,...}
    int[] arr = new int[]{1,2,3};
    //  :     int     ,         3 int    ,      1,2,3。
    
    //              
    int[] arr = {1,2,3};

    Javaにおける配列のメモリ割り当て
    Javaプログラムは実行時にメモリにスペースを割り当てる必要があります.演算効率を向上させるために,各領域に特定の処理データ方式とメモリ管理方式があるため,空間を異なる領域に分割した.
  • スタックメモリ-ローカル変数
  • を格納
  • メモリ-newから出てきたものを格納
  • メソッド領域
  • ローカルメソッド領域(システム関連)
  • レジスタ(CPU用)
  • ローカル変数について説明します.メソッド定義またはメソッド宣言のすべての変数は、使用が完了するとすぐに消えます.

    アレイ遍歴
    配列のループは、配列内の各要素を順次出力します.配列は、配列の長さを取得するための属性lengthを提供します.書式:配列名.length
    public class ArrayTest {
    
        public static void main(String[] args) {
    
            int arr [] = {11,22,33,44,55};
    
            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }
        }
    }

    出力結果
    方法と配列を組み合わせてDemoを書きます
    public class ArrayTest {
    
        public static void main(String[] args) {
    
            int arr [] = {11,22,33,44,55};
    
            printArray(arr);
        }
    
        public static void printArray(int []arr){
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i]+",");
            }
        }
    }

    出力結果:
    上記のプログラムを最適化し、55以降のカンマを削除します.かっこを付けます.
    public class ArrayTest {
    
        public static void main(String[] args) {
    
            int arr [] = {11,22,33,44,55};
    
            printArray(arr);
        }
    
        public static void printArray(int []arr){
            System.out.print("[");
    
            for (int i = 0; i < arr.length; i++) {
    
                if(i==arr.length-1){ //        
                    System.out.print(arr[i]+"]");
                }else{
                    System.out.print(arr[i]+",");
                }
            }
        }
    }

    出力結果この出力結果は上のものよりずっときれいになったのではないでしょうか.
    最大値の取得
    配列内の最大値の最小値の取得
    public class ArrayTest2 {
        public static void main(String[] args) {
            //      
            int[] arr = {34,98,10,25,67};
    
            //    
            int max = getMax(arr);
            System.out.println("max:"+max);
    
            //          
            int min = getMin(arr);
            System.out.println("min:"+min);
        }
    
        /*   :              :      :int     :int[] arr */
        public static int getMax(int[] arr) {
            //                 
            int max = arr[0];
            //         
            for(int x=1; x<arr.length; x++) {
                //            ,       ,   ,   。
                if(arr[x] > max) {
                    max = arr[x];
                }
            }
            //               。
            return max;
        }
    
        public static int getMin(int[] arr) {
            //                 
            int min = arr[0];
            //         
            for(int x=1; x<arr.length; x++) {
                //            ,       ,   ,   。
                if(arr[x] < min) {
                    min = arr[x];
                }
            }
            //               。
            return min;
        }
    }

    出力結果
    2 D配列2 Dはいれつ
    概要:要素が1次元配列の配列です.
  • 形式
  • データ型[][]変数名=newデータ型[m][n];
  • mは、この2次元配列が何個の1次元配列を有するかを示す
  • nは、各1次元配列の要素個数
  • を表す
  • 例:
  • int[][] arr = new int[3][2];
  • は2次元配列arr
  • を定義する
  • この2次元配列にはarr[0]、arr[1]、arr[2]
  • という3つの1次元配列がある.
  • 各1次元配列には2つの要素がありarr[m][n]で取得できる
  • は、m+1個目の一次元配列を取得するn+1個目の要素
  • を表す.

    2 D配列には2つのフォーマットがあります.フォーマット2:データ型[][]変数名=newデータ型[m];形式3:データ型[][]変数名={{要素...},{要素...},{要素...};一緒に練習しましょう.
    /* //  :        1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1   :         A:               1 B:      ,                        。   : A:          。     n,          n。  n          。 B:                       1 C:                 ,                        。 D:        。 */
    public class Array2Test {
        public static void main(String[] args) {
            //        
            Scanner sc = new Scanner(System.in);
    
            //  n          。
            System.out.println("       :");
            int n = sc.nextInt();
    
            //      
            int[][] arr = new int[n][n];
    
            //                       1
            for(int x=0; x<arr.length; x++) {
                arr[x][0] = 1; //     1 
                arr[x][x] = 1; //       1 
            }
    
            //           
            //      ,                        。
            for(int x=2; x<arr.length; x++) {
                //    y<=x       ,         
                //       1
                //  y    1  ,          
                for(int y=1; y<=x-1; y++) {
                    //                        。
                    arr[x][y] = arr[x-1][y-1] + arr[x-1][y];
                }
            }
    
            //        。
            /* for(int x=0; x<arr.length; x++) { for(int y=0; y<arr[x].length; y++) { System.out.print(arr[x][y]+"\t"); } System.out.println(); } */
            //    ,    ,                     
            for(int x=0; x<arr.length; x++) {
                for(int y=0; y<=x; y++) {
                    System.out.print(arr[x][y]+"\t");
                }
                System.out.println();
            }
        }
    }

    出力結果
    二次元配列については普段あまり使われていませんが、配列はよく使われているので、上手にマスターしなければなりません.
    この章javaの基礎は更に3を振り返って、私达はここを学んで、今度私达はいっしょに対象に向かう思想を学んで、それはjavaの重点で、私达はよく勉强します.