什麼是陣列?
同一種型別資料的集合,也就是乙個容器。運算的時候有很多資料參與運算,那麼首先需要做的是什麼.不是如何運算而是如何儲存這些資料以便於後期的運算,那麼陣列就是一種用於儲存資料的方式,能存資料的地方我們稱之為容器
陣列的本質:
就是去申請一串連續的記憶體空間,這個物件arr就指向這個這串記憶體單元的第乙個值
陣列的好處:
當我們需要求1000個學生的平均分的時候,不可能去找1000個變數賦值,這樣可以,只不過太過於麻煩,於是,引進來了陣列,它能給存進來的資料進行自動編號,注意編號從零開始,方便操作這些資料。
陣列的宣告大致分為兩種:
①宣告陣列的同時,指定它的長度
②宣告陣列的同時,指定裡面的值
比如:①int arr = new int[10];指定陣列長度為10
②int arr = 指定裡面的值
二維陣列的宣告和一維陣列其實都一樣,只是多了乙個索引值。
①int arr = new int[10][10];
②int arr = ,};
陣列裡面存的都是同一型別資料的集合
a. 即可以是基本型別,也可以是物件型別;
b. 陣列中的每個資料為元素;
2) 陣列是乙個物件,成員是陣列長度和陣列中的元素;
3) 宣告了乙個陣列變數並不是建立了乙個物件;
陣列的遍歷:
我們知道拿到陣列裡的值,其實就是把它的下標依次改變就行了,下標從0開始,所以,我們可以通過for迴圈去遍歷陣列、或者foreach(也叫增強for迴圈)去遍歷,其遍歷的方式為:
拿一維陣列舉例:
int arr = ;
①for(int i = 0;i
system.out.println(arr[i]);
}②for(int i:arr)
當我們的陣列中沒有值時,它們都有預設值。
下面是對應的預設值:
byte/short/int/long 0
float 0.0f
double 0.0d
string null
char '\u0000'
boolean false
放大陣列:
怎麼把乙個數放到乙個指定長度陣列裡,可是這個陣列裡都有值,沒地方去存,可以先將這個陣列進行放大,通過arr =arrays.copeof(arr,arr.length+1)此時的arr已經進行了長度+1,並最後一位有個初值0,然後可以通過fill進行填充
複製陣列
copyof(arr
,int newlenth)
陣列查詢 binarysearch(objectarr,object key)使用的前提: 資料排好序
int a = arrays.binarysearch(arr,3);
如果存在多個值,查詢的時候會從前往後一次查詢,直到找到乙個這個值為止,後面還有也不會繼續查詢。
給陣列從小到大進行排序
arrays.sort(arr);
陣列的排序分為兩種:
①氣泡排序
相隔的數去做比較,大的像後冒泡,通過一直去迴圈,最後小的都在前面,大的在後面。
intarr =;for(inti = 1;ilength;i++)
}intmidd = arr[index];//兩個值去交換,需要乙個中間值midd
arr[index] = arr[arr.length-i];
arr[arr.length-i]=midd;
}
②選擇排序拿到第乙個數依次和後面所有的值作比較,如果小於則交換位置,最後找到第乙個最小值,然後再以此類推,完成排序。
intmin = 0;for(inti =0;ilength;i++)
}min = arr[index];
arr[index] = arr[i];
arr[i] = min;
}
方法的宣告及使用
方法就是一段可以重複呼叫的 塊,方法的定義格式 public static 返回值型別 方法名稱 型別 引數1,型別 引數2 public class methoddemo01 public static void printinfo 定義方法 定義字元陣列 for int x 0 x 迴圈輸出 s...
陣列的應用舉例及二維陣列的宣告使用
建立乙個函式來做猴子選大王的遊戲 遊戲規則 有m只猴子圍坐一圈,從某乙隻猴子1開始,每當數到第n只猴子時,這次猴子就得退出。餘下的猴子繼續做遊戲,直到選到最後乙隻剩下的猴子就是大王 function chooseking m,n i 0 猴子數量大於1時就得繼續做迴圈 while count arr...
VB中如何宣告及使用多維陣列,多層陣列及動態陣列
宣告固定大小的陣列 有三種方法宣告固定大小的陣列,用哪一種方法取決於陣列應有的有效範圍 建立公用陣列,在模組的宣告段用 public 語句宣告陣列。建立模組級陣列,在模組的宣告段用 private 語句宣告陣列。建立區域性陣列,在過程中用 private 語句宣告陣列。設定上下界 宣告陣列時,在陣列...