常見sqlite3 API的簡單說明
阿新 • • 發佈:2020-11-04
陣列
陣列的定義
- 相同資料型別資料的有序集合
- 若干元素安宅先後次序排列組合而成
- 每個資料成為一個數組勻速可以通過一個下標來訪問他們
陣列宣告建立
- 首先必須宣告陣列變數才能在程式中是使用陣列。
dataType[ ] arrayRefVar;
- java使用new操作符來建立陣列。
dataType[ ] arrayRefVar=new dataType[arraySize ];
package Array; public class Demon1 { public static void main(String[] args) { int[] nums;// 1.聲明瞭一個數組 未分配空間 //變數型別 變數名 nums = new int[8];//2.這裡可以存放10個int型別的數 //長度 nums[0]= 1; nums[1]= 18; nums[2]= 51; nums[3]= 31; nums[4]= 14; nums[5]= 15; nums[6]= 41; nums[7]= 1; //3.給數組裡的空間賦值 System.out.println(nums[0]); int sum = 0 ; for (int i = 0; i < nums.length; i++) { //遍歷陣列 //陣列長度↑ sum= sum+ nums[i]; }System.out.println(sum); } }
記憶體分析
在宣告時
int[] nums;
棧中壓入一塊空間為nums,接著
nums = new int[8];
在堆中開闢一塊nums空間,其中有8個空位
nums[0]= 1;
nums[1]= 18;
nums[2]= 51;
nums[3]= 31;
nums[4]= 14;
nums[5]= 15;
nums[6]= 41;
nums[7]= 1;
然後通過賦值,堆中的nums空間裡的8個空間都有數值。
初始化狀態
package Array; public class Demom2 { public static void main(String[] args) { int[] a = {12,8,9,3,12,54,2};//靜態初始化 int[] b = new int[10];//動態初始化 只分配了空間其中的值都是0 b[1]= 10; //包含了預設初始化,new之後所有空間均被初始化為0 } }
知識點在程式註釋中。
陣列的四個基本特點
- 長度確定,陣列一旦被建立,他的大小就是不可改變的
- 元素必須相同型別
- 元素可以時任何資料型別,包括基本型別和引用型別
- 陣列變數屬於引用型別,陣列本身就是物件,元素相當於物件的成員變數,java中物件是在堆中的(陣列物件本身是在堆中的)
陣列邊界
小標的合法區間為 [0~長度-1],越界會報錯。
陣列的使用
package Array; //陣列的簡單使用方法,以下三種 public class Demon3 { public static void main(String[] args) { int[] Array = {12,2,3,4,5,6,}; for (int i = 0; i < Array.length; i++) { System.out.println(Array[i]);//列印陣列中的所有元素 } int sum = 0 ; for (int i = 0; i <Array.length; i++){ sum += Array[i]; } System.out.println(sum);//陣列中數字的和 int max = 0; for (int i = 0; i < Array.length; i++) { if(max < Array[i]){ max= Array[i]; } }System.out.println("最大值為:"+ max); //陣列中的最大值 } }
增強型for迴圈
輸入 陣列名.for 回車 ,省去了下標,適合列印輸出,但不適合操作裡面的元素。
package Array;
public class Demon4 {
public static void main(String[] args) {
int[] array = {12,2,3,4,5,6,};
for (int i : array) { //增強型for迴圈
System.out.println(i);
}
}
}
陣列的其他使用例子
package Array;
public class Demon5 {
public static void main(String[] args) {
int[] array = {1,2,3,5,6,6}; //定義一個數組
printArray(array);//列印陣列array
reverse(array);//反轉陣列array
int[ ] reverse = reverse(array);//定義陣列reverse為反轉後陣列
printArray(reverse);//輸出reverse陣列
}
//無返回值 方法名 輸入引數
public static void printArray(int[] array) { //方法:列印陣列的所有元素
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
public static int[] reverse(int[] array){ //方法:反轉陣列
int[] result= new int[array.length]; //定義陣列result,長度於輸入陣列相同
for (int i = 0,j = array.length - 1; i < array.length; i++,j--) {
result[j]=array[i]; //頭尾交換
}return result; //返回值為result陣列,int[]
}
}
多維陣列
多維是陣列可以看作陣列的陣列,即陣列的元素為陣列。多維陣列就是陣列的巢狀。
二維陣列的定義
int a[] [] = new int [3] [5];
以上二位陣列a可以看成一個三行五列的陣列。
package Array;
public class Demon6 {
public static void main(String[] args) {
int[][] a = new int[3][5]; //多維陣列
int[][] b = {{1,2},{3,4},{45,5} }; //多維陣列
}
}
如何遍歷二維陣列中的元素
int[][] b = {{1,2},{3,4},{45,5} }; //二維陣列
for (int i = 0; i < b.length; i++) { //遍歷二維陣列中的元素
for(int j = 0; j< b[i].length;j++){
System.out.println(b[i][j]);
}
}