1-基本sql操作
阿新 • • 發佈:2021-01-25
陣列
- 陣列是相同型別資料的有序集合
- 陣列描述的是相同型別的若干個資料,按照一定的先後次序排列組合而成
- 其中每一個數據稱為一個數組元素,每個陣列元素可以通過一個下標來訪問它們
陣列的宣告和建立
陣列需要先宣告再建立
建立和宣告可以彙總成一行程式碼
程式碼如下
public class ArrayDemo01 { public static void main(String[] args) { /* int [] num ; 宣告陣列 num = new int [10]; 定義陣列 */ //上面的兩行程式碼可以用一行代替 int [] num = new int[10]; //賦值 num[0]=1; num[1]=2; num[2]=3; num[3]=4; num[4]=5; num[5]=6; num[6]=7; num[7]=8; num[8]=9; num[9]=10; int sum = 0; //array.length 陣列長度 for (int i = 0;i<num.length;i++){ sum = sum+num[i]; } System.out.println(sum); } }
陣列的三種初始化
- 靜態初始化
- 動態初始化
- 陣列的預設初始化
public class ArrayDemo02 { public static void main(String[] args) { //靜態初始化 int [] num = {1,2,3,4,5,6,7}; for (int i=0;i<num.length;i++){ System.out.println(num[i]); } //動態初始化 int [] nums; nums=new int[7]; nums[0]=10; System.out.println(nums[0]); } }
有一點要提的是關於陣列的下標問題
陣列有自己的陣列長度,尋找元素的時候注意不要下標越界
陣列的使用
下面兩組程式碼在主函式的呼叫方法的層面展示了陣列的使用
public class ArrayDemo03 { public static void main(String[] args) { int [] num = {1,2,3,4,5}; //列印陣列所有的元素 for (int i = 0; i < num.length; i++) { System.out.println(num[i]); } //計算所有元素的和 int sum = 0; for (int i = 0; i < num.length; i++) { sum+=num[i]; } System.out.println("sum="+sum); //查詢最大元素 int max = num[0]; for (int i = 0; i < num.length; i++) { if (max<num[i]){ max=num[i]; } } System.out.println(max); } }
public class ArrayDemo04 {
public static void main(String[] args) {
int [] nums = {1,2,3,4,5};
/*
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
*/
int [] reverse = reverse(nums);
Arrayprint(reverse);
}
//列印陣列所有元素
public static void Arrayprint(int [] array){
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
}
//反轉陣列
public static int[] reverse(int [] array){
int [] result = new int[array.length];
for (int i = 0,j=array.length-1; i < array.length; i++,j--) {
result[j] = array[i];
}
return result;
}
}
二維陣列
為了方便組織各種資訊,計算機常將資訊以表的形式進行組織,然後再以行和列的形式呈現出來。二維陣列的結構決定了其能非常方便地表示計算機中的表,以第一個下標表示元素所在的行,第二個下標表示元素所在的列。
在 Java 中二維陣列被看作陣列的陣列,即二維陣列為一個特殊的一維陣列,其每個元素又是一個一維陣列。Java 並不直接支援二維陣列,但是允許定義陣列元素是一維陣列的一維陣列,以達到同樣的效果。
public class ArrayDemo05 {
public static void main(String[] args) {
int [][] nums = {{1,2},{3,4},{5,6},{7,8}};
//System.out.println(nums[0][0]);
//printArray(nums[0]);
for (int i=0;i<nums.length;i++){
for (int j=0;j<nums[i].length;j++){
System.out.print(nums[i][j]+" ");
}
System.out.println();
}
}
public static void printArray(int [] array){
for (int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
Arrays類
- 陣列的工具類 java.util.Arrays
- 由於陣列物件本身沒有什麼方法可以供我們呼叫,API中提供了一個工具類供我們使用,從而可以對資料物件進行一些基本的操作。
- 檢視jdk幫助文件
- Arrays類中的方法可以直接呼叫
import java.util.Arrays;
public class ArrayDemo06 {
public static void main(String[] args) {
int [] nums = {1,2,3,4,5,6,12,9,88,60};
//System.out.println(nums);
//列印陣列元素 Array類 toString
//System.out.println(Arrays.toString(nums));
//對陣列進行排序
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));//排序後進行輸出
}
}
氣泡排序
氣泡排序是八大排序之一
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
氣泡排序中,比較相鄰兩個數的大小,如果後一個數比前一個數大,則交換兩數位置
每一次比較會產生一個最大或者最小的數
每比較一次之後,下一次可以少比較一次
依次迴圈,直到結束
import java.util.Arrays;
public class ArrayDemo07 {
//氣泡排序
public static void main(String[] args) {
int [] std = {7,85,4,1,6,45,61,65,16};
System.out.println(Arrays.toString(sort(std)));
}
//氣泡排序中,比較相鄰兩個數的大小,如果後一個數比前一個數大,則交換兩數位置
//每一次比較會產生一個最大或者最小的數
//每比較一次之後,下一次可以少比較一次
//依次迴圈,直到結束
public static int [] sort(int [] nums) {
int temp = 0;
for (int i = 0; i < nums.length - 1; i++) {
for (int j = 0; j < nums.length - 1 - i; j++) {
if (nums[j] < nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
return nums;
}
}
氣泡排序非常重要 必須要詳細理解
寫在最後
成長本就是一個孤立無援的過程你必須得學會獨當一面