ホームページ  >  記事  >  Java  >  Java 配列を定義および使用する方法

Java 配列を定義および使用する方法

WBOY
WBOY転載
2023-04-23 16:22:072964ブラウズ

    1. 配列の基本的な使い方

    1. 配列とは

    Array: 一連のデータを格納するコレクション同じデータ型。

    2. 配列の定義

    int[]: int 型配列

    double[]: double 型配列

    変数は型ごとに定義できます。例:

    int[] array, array はこの型の変数です この変数は同じデータの集合を格納する変数です。

    配列を定義する 3 つの方法:

    Java 配列を定義および使用する方法

    最初の方法:

    int[] array = {1,2 , 3,4,5,6};配列を定義して初期化します

    new は書かれていませんが、実際にはオブジェクトです

    Notes:

    int[10] array = {1,2,3,4,5,6};書き方が間違っています。int[] は type に属しており、角括弧内に数字を追加することはできません。これは破壊に相当します。ここにそのタイプがあります。

    2 番目の型:

    int[] array2 = new int[3];

    Java 配列を定義および使用する方法

    配列を定義します初期化されていません

    3 番目のタイプ:

    int[] array3 = new int[]{1,2,3,4,5,6};

    Java 配列を定義および使用する方法

    定義と初期化

    3 つの中で最も一般的に使用されるのは最初の

    3. 配列の使用

    配列の長さの取得:

    Java 配列を定義および使用する方法

    #Java では、配列名 array.length を通じて現在の配列の長さを直接見つけることができます。

    配列要素へのアクセス:

    Java 配列を定義および使用する方法

    配列内のインデックス 4 の要素にアクセスします。

    境界外の配列要素にアクセスします。

    Java 配列を定義および使用する方法

    Java言語は範囲外の場合にエラーを直接報告します

    配列要素を変更します:

    Java 配列を定義および使用する方法

    配列名に括弧を入れると、配列の内容にアクセスできるだけでなく、

    印刷配列:

    #最初のタイプ: (for ループ)

    Java 配列を定義および使用する方法# 2 番目のタイプ: (for ループ)

    印刷配列:

    # type: (強化された for ループ、for each ループ)

    Java 配列を定義および使用する方法

    for ループと for each ループの違い:

    For ループは添え字 # を取得できます。

    ##各ループでは添字を使用できません。コレクションではさらに多くのものが使用されます。

    3 番目のタイプ: Java の配列操作ツール クラス Arrays を使用します。

    Java 配列を定義および使用する方法

    2. メソッドとしての配列 パラメータ

    基本的な使用法

    JVM の簡単な紹介

    Java 配列を定義および使用する方法

    Java 配列を定義および使用する方法

    ローカル変数のメモリへの保存 :

    Java 配列を定義および使用する方法

    参照がオブジェクトを指していません 書き方:

    Java 配列を定義および使用する方法

    This参照はどのオブジェクトも指していません

    Java 配列を定義および使用する方法

    参照は同時に複数のオブジェクトを指すことができますか?

    Java 配列を定義および使用する方法

    このコードでは、1 つのオブジェクトのみを指し、オブジェクトのアドレスを保存できます。最終的には、最後のオブジェクトのアドレスのみが保存されます。

    メソッドのパラメータとして配列を渡すプロセス:

    Java 配列を定義および使用する方法

    解決策と印刷結果:

    #before 2 つの解決策:

    Java 配列を定義および使用する方法

    fun2 印刷結果:

    Java 配列を定義および使用する方法

    ##分析例: 何を下の写真は

    を表していますか?

    Java 配列を定義および使用する方法

    は、array2 の参照を表し、array1 の参照が指すオブジェクトを指します。

    次の図は、上記の例の意味を表しています:

    Java 配列を定義および使用する方法

    注:

    引用部分は引用部分を指します。この文は次のとおりです。参照はオブジェクトのみを指すことができます

    参照はスタック上にある必要がありますか?

    必ずしもではありません。変数がスタック上にあるかどうかは、変数の性質によって決まります。ローカル変数の場合は、スタック上にある必要があります。そうでない場合、たとえば、インスタンスのメンバー変数がスタック上にある必要はありません。

    3. 配列の演習

    1. 2 つの変数の値を交換する

    public class TestDemo {
        public static void swap(int[] array){
            int tmp = array[0];
            array[0] = array[1];
            array[1] = tmp;
     
        }
        public static void main(String[] args) {
            int[] array = {10,20};
            System.out.println("交换前: "+array[0]+" "+array[1]);
            swap(array);
            System.out.println("交换后: "+array[0]+" "+array[1]);
        }

    結果の出力:

    Java 配列を定義および使用する方法

    2. * 2 にメソッドを記述します。

     /**
         * 在原来的数组上扩大2倍
         * @param array
         */
        public static void enlarge(int[] array){
            for (int i = 0; i <array.length ; i++) {
                array[i] = array[i]*2;
            }
     
        }
     
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5,6,7};
            enlarge(array);
            System.out.println(Arrays.toString(array));
        }

    配列内の各要素の結果を出力します。

    Java 配列を定義および使用する方法

    元の配列を 2 倍に拡大します。 value 新しい配列

    /**
         * 把原来数组扩大2倍的值放在一个新的数组中
         * @param array
         * @return
         */
        public static int[] func(int[] array) {
            int[] ret = new int[array.length];
            for (int i = 0; i < array.length; i++) {
                ret[i] = array[i] * 2;
            }
            return ret;
        }
     
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5,6,7};
           int[] ret =  func(array);
            System.out.println(Arrays.toString(ret));
        }

    3.tostring 関数の実装をシミュレートします

    public static String myToString(int[] array){
            String str = "[";
     
            for (int i = 0; i <array.length ; i++) {
                str = str+array[i];
                if(i != array.length-1){
                    str+= ",";
                }
            }
            str= str + "]";
            return str;
        }
     
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5,6,7};
           String str =  myToString(array);
            System.out.println(str);
        }

    結果を出力します:

    Java 配列を定義および使用する方法

    4.検索最大要素

    public static int maxNum(int[] array){
            if(array == null) return -1;
            if (array.length == 0) return -1;
            int max = array[0];
            for (int i = 1; i <array.length ; i++) {
                if(max < array[i]){
                    max = array[i];
     
                }
            }
            return max;
        }
     
        public static void main(String[] args) {
            int[] array = {12,8,14,26,5,7,8};
            int max = maxNum(array);
            System.out.println(max);
        }

    結果の出力:

    Java 配列を定義および使用する方法

    5. 配列内の指定された要素の検索 (順次検索)

       public static int findNum(int[] array,int key){
            for (int i = 0; i <array.length ; i++) {
                if(array[i] == key){
                    return i;
                }
            }
            return -1;
        }
     
        public static void main(String[] args) {
            int[] array = {2,4,5,6,11,7,8,9};
            System.out.println(findNum(array, 7));
     
        }

    結果の出力:

    Java 配列を定義および使用する方法

    6. 配列内の指定された要素を検索します (二分探索)

    二分查找的必要条件是必须有序的数列
        public static int binarySearch(int[] array,int key){
            int left = 0;
            int right = array.length-1;
            while(left <= right){
                int mid = (left+right)/2;
                if(array[mid] > key){
                    right = mid - 1;
                }else if(array[mid] < key){
                    left = left + 1;
                }else{
                    return mid;
                }
     
            }
            return -1;
        }
     
        public static void main(String[] args) {
            int[] array = {12,14,15,16,18,23};
            System.out.println(binarySearch(array, 15));
        }

    結果を出力します:

    Java 配列を定義および使用する方法

    以上がJava 配列を定義および使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。