1. 程式人生 > 其它 >1-基本sql操作

1-基本sql操作

技術標籤:java陣列氣泡排序java程式語言

陣列

  • 陣列是相同型別資料的有序集合
  • 陣列描述的是相同型別的若干個資料,按照一定的先後次序排列組合而成
  • 其中每一個數據稱為一個數組元素,每個陣列元素可以通過一個下標來訪問它們

陣列的宣告和建立

陣列需要先宣告再建立
建立和宣告可以彙總成一行程式碼
程式碼如下

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;
    }
}

在這裡插入圖片描述氣泡排序非常重要 必須要詳細理解

寫在最後
成長本就是一個孤立無援的過程你必須得學會獨當一面