學習Java的Day02

 

知識點

數組:

  1. 一維數組   聲明: 類型[] 數組名;[] 在先後沒有影響,通常寫在名稱前。)
  2. 建立數組  數組名 =  new 類型[數組長度]
  3. 數組索引從0開始。獲取數組長度:數組名.length.
  4. 初始化方式:(1int[] arr01={};    2int[]  arr02 = new int[]{1,2,3,4};
  5. 二維數組  int[][]  arr ={{1,2},{3,4}};
  6. 數組遍歷
  • 普通for循環遍歷(雖然有的麻煩,可是能夠對數組進行修改。)
  • 加強for each 遍歷(獲取數組內容比較方便,可是不能對數組內容進行修改)
  • (注意數組越界異常  ArrayIndexOutOfBoundsExceptio  緣由:訪問不存在索引 )
  • (空指針異常 NullPointerException  緣由:數組已經不在堆內存了,還用數組去訪問元素
  1. JVM 的內存劃分

程序計數器java

本地方法棧數組

方法棧:執行方法,保存局部變量安全

方法區:存儲類的信息,靜態變量,常量,編譯後的代碼函數

堆:存儲對象自己,以及數組。this

  1. 數組排序   冒泡排序
public  void  work02(int n){
    int[] arr = new int[n];
    int temp=0;
    Scanner sc = new Scanner(System.in);
    for (int i = 0; i < n; i++) {
        System.out.println("請輸入:" + n + "個數字:");
        int num = sc.nextInt();
        arr[i] = num;
    }
    for (int i = 0;i<arr.length-1;i++){
        for (int j = 0;j<arr.length-1-i;j++){
            if (arr[j] > arr[j+1]) {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
    System.out.println(Arrays.toString(arr));
}

選擇排序spa

public  void  work03(int n){
    int[] arr = new int[n];
    int temp=0;
    Scanner sc = new Scanner(System.in);
    for (int i = 0; i < n; i++) {
        System.out.println("請輸入:" + (n -i)+ "個數字:");
        int num = sc.nextInt();
        arr[i] = num;
    }
    for (int i = 0 ;i<arr.length;i++){
        for (int j=i+1;j<arr.length;j++){
            if (arr[i]>arr[j]){
                temp=arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
            }
        }
    }

    System.out.println(Arrays.toString(arr));
}

   

  1. 冒泡排序和選擇排序的排序的原理

    選擇排序指針

 

 

  • 每次從數組裏面取出兩個的元素做比較從下標爲0的地方開始

 

 

  • 每次拿須要排序的第個元素和後面的元素依次做比較,找到最小值

 

 

  • 把小值放到第一個元素

 

 

  • 第二輪拿第二個元素和後面的元素依次做比較。直到找到最小值

 

 

  • 把小值放到第」 個元素的位置上

 

 

 

 

  1. 面向對象OOP特色:繼承,封裝,多態。
  2. 封裝:提升代碼安全性 ;把屬性私有化,提供公共方法訪問私有對象。
  3. 構造函數實現了對象初始化流程的封裝。方法封裝了操做對象的流程。封裝主要是爲了隱藏對象的細節,在ava中經常使用private封裝對象數據成員,好比典型的單例模式,使用private修飾構造函數,使得在其餘類沒法經過new來獲取類的對象,只能經過其內部共有的方法來獲取類的實例對象。在static區塊或方法中不能出現this關鍵字。static方法中不能使用非static的數據或方法成員。
相關文章
相關標籤/搜索