
文章目錄
- 前言
- 陣列
- 一維麻袋的定義
- 怎么往麻袋里面裝白菜
- 怎么取出我需要的白菜
- 多維陣列(多維麻袋)
- 定義一個多維麻袋
- 往這個多維麻袋里防白菜
- 按一定規律往每個麻袋放白菜
- 查看我們放入的是否正確
- Arrays類操作麻袋
- 小練習
- 結語
前言
好了,我們來說一下陣列,
陣列
什么是陣列?在Java中,陣列就是存盤多個相同資料的集合,他們的記憶體地址是相鄰的,所以可以通過陣列取值,
這么說,是不是有點不好理解,那么這樣呢?
我有一顆白菜,手拿著就能回家,那如果是十幾顆呢?
我就可以用麻袋!麻袋!裝進去,帶回家!是的你要存的資料就是白菜,而這個陣列就是你要用的麻袋~~~~~

麻袋中的白菜怎么拿出來我需要用的呢?
下標,Java中的下標是以0開始的,什么是下標,就是你從0開始查,查到某個你要的資料,查到幾,下標就是幾,就相當于,我在裝白菜的時候,說“這是第0個白菜,這是第1個白菜…”,而他們也能聽懂(別管他們能不能聽懂,我說能就能,哈哈~~),等我需要哪一顆白菜的時候,喊一聲,他就自己跳出來了

白菜可以是任意型別的,但是麻袋要和白菜必須是同樣的型別
一維麻袋的定義
兩種方法
- 直接定義法:直接把白菜裝進麻袋a里
int[] a = {1,2,3,4,5,6,7};
- 實體化物件定義,初始化大小:不知道有什么白菜,先拿一個知道大小的麻袋a,然后再往里面裝白菜
int[] a = new int[10];
怎么往麻袋里面裝白菜
多種資料,多種資料,多種資料,重要的事情說三遍
多種,怎么辦?一個一個往里面裝~~
怎么一個一個裝?這種重復的事情,當然交給回圈來干了!
比如說我要把1-66裝進去
int[] a = new int[66];
for(int i = 0;i<a.length;i++){
a[i] = i+1; //這就是我告訴白菜,你是第i個白菜
}
怎么取出我需要的白菜
我要把名字叫做5的白菜從麻袋里面拿出來,怎么做?
想必你們也都看到了這個a[i],這個就是對麻袋a中叫做i的白菜進行操作~
代碼接著上面的
System.out.println(a[5]);
//結果是6,為啥是6,因為我們的白菜是從1開始往里面裝的,而名字是從0開始取的
如果想全部取出,也可以用回圈選手哦!
多維陣列(多維麻袋)
如果我的白菜,有的老,有的嫩,我想分開裝,怎么辦?
我告訴你,你這沒必要用多個麻袋裝,你可以在麻袋里在放幾個麻袋啊,
這叫做:多維陣列(麻袋里面的白菜,換成了麻袋,然后麻袋里面的麻袋里面裝白菜)
定義一個多維麻袋
定義一個里面含有三個麻袋的麻袋,每個麻袋可以裝4個白菜
int[][] a = new int[3][4];
往這個多維麻袋里防白菜
先打開這個a[]大麻袋,再打開里面的a[0][]小麻袋,然后才能往里面放白菜
小麻袋也有名字,也是下標,我們要往麻袋里面的第一個小麻袋的第一個位置放一個名字叫做1的白菜,這樣做:
a[0][0] = 1;
按一定規律往每個麻袋放白菜
先往第一個小麻袋放,在往第二個小麻袋放…
for (int i = 0;i<a.length;i++){
for (int j = 0;j<a[0].length;j++){
a[i][j] = j;
}
}
查看我們放入的是否正確
將我們的陣列輸出就行了
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
結果是:
[0, 1, 2, 3]
[0, 1, 2, 3]
[0, 1, 2, 3]
Arrays類操作麻袋
我們可以使用Arrays類操作我們的麻袋
- 給麻袋的白菜賦值:通過 fill 方法,
將指定的 int 型別白菜分配給指定 int 型麻袋指定范圍中的每個元素
int[][] a = new int[3][4];
Arrays.fill(a[0], 5);
Arrays.fill(a[1], 5);
Arrays.fill(a[2], 5);
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
/*
輸出結果:
[5, 5, 5, 5]
[5, 5, 5, 5]
[5, 5, 5, 5]
*/
- 對麻袋中的白菜按照大小排序:通過 sort 方法,按升序,
排序,從小到大
int[][] a = new int[3][4];
//隨便給幾個值
a[0][2] = 5;
a[1][3] = 3;
a[2][0] = 4;
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
/*
排序前:
[0, 0, 5, 0]
[0, 0, 0, 3]
[4, 0, 0, 0]
*/
Arrays.sort(a[0]);
Arrays.sort(a[1]);
Arrays.sort(a[2]);
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
/*
排序后:
[0, 0, 0, 5]
[0, 0, 0, 3]
[0, 0, 0, 4]
*/
- 比較陣列:通過 equals 方法比較陣列中元素值是否相等,
不相等回傳false
int[][] a = new int[3][4];
int[][] b = new int[3][4];
System.out.println(Arrays.deepEquals(a, b));
//結果:false
小練習
定義一個二維麻袋,里面有三個麻袋,分別裝3個女孩(用字串顯示名字)

結語
今天把陣列學習了,可以做點小練習,畢竟我覺得(我覺得)不簡單,那么,今天就到這里就要說再見了呢,拜拜~

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277326.html
標籤:java
