二、我是菜鳥_5.Java數組基礎

數組不管在任何一門語言中都有重要的位置,必會。
第一部分,語法。
<li>定義一個數組:int[] array = new int[]; 或者 int[] array = new int[]{ 1,2,3,4,5 };
<li>賦值:int[] array = new int[]{ 1,2,3,4,5 };
<li>常用屬性:
length:數組的長度。array.length, 返回值為int類型

第二部分,常用操作。
先創建一個空的數組

int array[] = new int[10];

<li>1. 用 fill(數組名,要填充的內容)方法 填充數組

// 1.用某一個數填充數組的所有元素(int為例)
        int array[] = new int[10];
        Arrays.fill(array, 7);
        for (int a : array) {
            System.out.print(a + "\t");
        }
        System.out.println();

fill()還有另一個重載形態,Arrays.fill(數組名, 起始索引, 結束索引, 要填充的值);

// 2.用某一個值填充某一個范圍內的所有元素(int類型為例)
        //  這里要說明一下,第二個參數代表起始索引(包括這個索引的元素),第三個參數代表截止索引(不包含截止索引的元素)
        //  比如說Arrays.fill(array, 0, 4, 3);那么被操作的元素就是array數組中的第1,2,3,4個元素(因為不包括截止索引的元素)
        Arrays.fill(array, 0, 4, 9);
        for (int i : array) {
            System.out.print(i + "\t");
        }
        System.out.println();
        //  常見錯誤,數組越界。
        //  那么什么是數組越界呢,就是當索引大于數組最大索引時就會發生越界,程序會報ArrayIndexOutOfBoundsException異常

<li>2.對數組進行排序(升序排列)

Arrays.sort(array);
    for (int i : array) {
        System.out.print(i + "\t");
    }
    System.out.println();
//  排序的時候要注意,在Java語言中,String類型數組的排序算法是根據字典編排順序排序的
//  因此,數字排在字母前面,大寫字母排在小寫字母前面

<li>3.復制數組

//  Arrays類的copyOf()方法 和 copyOfRange()方法
        //  copyOf(arr, int newlength)方法:arr代表數組名稱,newlength代表新數組的長度
        int[] array2 = Arrays.copyOf(array, 13);
        for (int i : array2) {
            System.out.print(i + "\t");
        }
        System.out.println();
        int[] array3 = Arrays.copyOf(array, 5);
        for (int i : array3) {
            System.out.print(i + "\t");
        }
        System.out.println();
        //  寫到這里可以發現,當新復制的數組的長度大于被復制的數組時,多出來的位置用0填充
        //  當新復制的數組的長度小于被復制的數組時,只復制從0到指定長度
        
        // 5.復制給定范圍的數組
        //  這種模式更常用,必會
        //  Arrays.copyOfRange(數組名, 起始索引, 結束索引),和之前一樣,結束索引位置的元素不被復制
        //  方法返回的一個新數組
        int[] array4 = Arrays.copyOfRange(array, 3, 5);
        for (int i : array4) {
            System.out.print(i + "\t");
        }
        System.out.println();
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • 一、 1、請用Java寫一個冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨云閱讀 1,421評論 0 6
  • Java經典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子...
    趙宇_阿特奇閱讀 1,916評論 0 2
  • 【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,167評論 0 41
  • 睡覺ㄟ(▔ ,▔)ㄏ 負面情緒,大家請自動忽略。
    wbsy001閱讀 204評論 3 3