1. 程式人生 > >java基礎重點講解,看了還不會找我(五)

java基礎重點講解,看了還不會找我(五)

視訊下載地址:https://download.csdn.net/download/xxf_is_girl_gad/10886817

 

###05.01_Java語言基礎(陣列概述和定義格式說明)(瞭解)
* A:為什麼要有陣列(容器)
    * 為了儲存同種資料型別的多個值
* B:陣列概念
    * 陣列是儲存同一種資料型別多個元素的集合。也可以看成是一個容器。
    * 陣列既可以儲存基本資料型別,也可以儲存引用資料型別。

* C:陣列定義格式
    資料型別[] 陣列名 = new 資料型別[陣列的長度];
###05.02_Java語言基礎(陣列的初始化動態初始化)(掌握)
* A:什麼是陣列的初始化
    * 就是為陣列開闢連續的記憶體空間,併為每個陣列元素賦予值 
* B:如何對陣列進行初始化
    * a:動態初始化 只指定長度,由系統給出初始化值
        * int[] arr = new int[5];     
    * b:靜態初始化 給出初始化值,由系統決定長度    
* C:動態初始化的格式:
    * 資料型別[] 陣列名 = new 資料型別[陣列長度];
* D:案例演示
    * 輸出陣列名稱和陣列元素

###05.03_Java語言基礎(Java中的記憶體分配以及棧和堆的區別)
* A:棧(掌握)
    * 儲存區域性變數 
* B:堆(掌握)
    * 儲存new出來的陣列或物件 
* C:方法區
    * 面向物件部分講解 
* D:本地方法區
    * 和系統相關 
* E:暫存器
    * 給CPU使用
###05.04_Java語言基礎(陣列的記憶體圖解1一個數組)(掌握)
* A:畫圖演示
    * 一個數組

###05.05_Java語言基礎(陣列的記憶體圖解2二個數組)(瞭解)
* A:畫圖演示
    * 二個不同的陣列

###05.06_Java語言基礎(陣列的記憶體圖解3三個引用兩個陣列)(瞭解)
* A:畫圖演示
    * 三個引用,有兩個陣列的引用指向同一個地址

###05.07_Java語言基礎(陣列的初始化靜態初始化及記憶體圖)(掌握)
* A:靜態初始化的格式:
    * 格式:資料型別[] 陣列名 = new 資料型別[]{元素1,元素2,…};
    * 簡化格式:
        * 資料型別[] 陣列名 = {元素1,元素2,…};
* B:案例演示
    * 對陣列的解釋
    * 輸出陣列名稱和陣列元素
* C:畫圖演示
    * 一個數組

###05.08_Java語言基礎(陣列操作的兩個常見小問題越界和空指標)(掌握)
* A:案例演示
    * a:ArrayIndexOutOfBoundsException:陣列索引越界異常
        * 原因:你訪問了不存在的索引。
    * b:NullPointerException:空指標異常
        * 原因:陣列已經不在指向堆記憶體了。而你還用陣列名去訪問元素。
        * int[] arr = {1,2,3};
        * arr = null;
        * System.out.println(arr[0]);

###05.09_Java語言基礎(陣列的操作1遍歷)(掌握)
* A:案例演示
    * 陣列遍歷:就是依次輸出陣列中的每一個元素。
    * 陣列的屬性:arr.length陣列的長度
    * 陣列的最大索引:arr.length - 1;
     
            public static void print(int[] arr) {
                for (int i = 0;i < arr.length ;i++ ) {
                    System.out.print(arr[i] + " ");
                }
            }

###05.10_Java語言基礎(陣列的操作2獲取最值)(掌握)
* A:案例演示
    * 陣列獲取最值(獲取陣列中的最大值最小值)
        
            public static int getMax(int[] arr) {
                int max = arr[0];
                for (int i = 1;i < arr.length ;i++ ) {            //從陣列的第二個元素開始遍歷
                    if (max < arr[i]) {                            //如果max記錄的值小於的陣列中的元素
                        max = arr[i];                            //max記錄住較大的
                    }
                }
        
                return max;
            }
###05.11_Java語言基礎(陣列的操作3反轉)(掌握)
* A:案例演示
    * 陣列元素反轉(就是把元素對調)
            
            public static void reverseArray(int[] arr) {
                for (int i = 0;i < arr.length / 2 ; i++) {
                    //arr[0]和arr[arr.length-1-0]交換
                    //arr[1]和arr[arr.length-1-1]交換
                    //arr[2]和arr[arr.lentth-1-2]
                    //...
        
                    int temp = arr[i];
                    arr[i] = arr[arr.length-1-i];
                    arr[arr.length-1-i] = temp;
                }
            }

###05.12_Java語言基礎(陣列的操作4查表法)(掌握)
* A:案例演示
    * 陣列查表法(根據鍵盤錄入索引,查詢對應星期)
    
            public static char getWeek(int week) {
                char[] arr = {' ','一','二','三','四','五','六','日'};        //定義了一張星期表
                return arr[week];                                            //通過索引獲取表中的元素
            }

###05.13_Java語言基礎(陣列的操作5基本查詢)(掌握)
* A:案例演示
    * 陣列元素查詢(查詢指定元素第一次在陣列中出現的索引)
    
            public static int getIndex(int[] arr,int value) {
                for (int i = 0;i < arr.length ;i++ ) {                //陣列的遍歷
                    if (arr[i] == value) {                            //如果陣列中的元素與查詢的元素匹配
                        return i;
                    }
                }
                return -1;
            } 

###05.14_Java語言基礎(二維陣列概述和格式1的講解)(瞭解)
* A:二維陣列概述
* B:二維陣列格式1
    * int[][] arr = new int[3][2]; 
* C:二維陣列格式1的解釋
* D:注意事項
    * a:以下格式也可以表示二維陣列
        * 1:資料型別 陣列名[][] = new 資料型別[m][n];
        * 2:資料型別[] 陣列名[] = new 資料型別[m][n];
    * B:注意下面定義的區別
    * 
            int x;
            int y;
            int x,y;
            
            int[] x;
            int[] y[];
            
            int[] x,y[];    x是一維陣列,y是二維陣列
* E:案例演示
    * 定義二維陣列,輸出二維陣列名稱,一維陣列名稱,一個元素

###05.15_Java語言基礎(二維陣列格式1的記憶體圖解)(瞭解)
* A:畫圖演示
    * 畫圖講解上面的二維陣列名稱,一維陣列名稱,一個元素的值的問題

###05.16_Java語言基礎(二維陣列格式2的講解及其記憶體圖解)(瞭解)
* A:二維陣列格式2
    * int[][] arr = new int[3][]; 
* B:二維陣列格式2的解釋
* C:案例演示
    * 講解格式,輸出資料,並畫記憶體圖

###05.17_Java語言基礎(二維陣列格式3的講解及其記憶體圖解)(瞭解)
* A:二維陣列格式3
    * int[][] arr = {{1,2,3},{4,5},{6,7,8,9}}; 
* B:二維陣列格式3的解釋
* C:案例演示
    * 講解格式,輸出資料,並畫記憶體圖

###05.18_Java語言基礎(二維陣列練習1遍歷)(掌握)
* A:案例演示
    * 需求:二維陣列遍歷

    * 外迴圈控制的是二維陣列的長度,其實就是一維陣列的個數。
    * 內迴圈控制的是一維陣列的長度。

            int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
    
            for (int i = 0;i < arr.length ;i++ ) {            //獲取到每個二維陣列中的一維陣列
                for (int j = 0;j < arr[i].length ;j++ ) {    //獲取每個一維陣列中的元素
                    System.out.print(arr[i][j] + " ");
                }
    
                System.out.println();
            }
###05.19_Java語言基礎(二維陣列練習2求和)(掌握)
* A:案例演示

        需求:公司年銷售額求和
        某公司按照季度和月份統計的資料如下:單位(萬元)
        第一季度:22,66,44
        第二季度:77,33,88
        第三季度:25,45,65
        第四季度:11,66,99
        
        int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};

        int sum = 0;                                    //定義變數,記錄每次相加的結果
        for (int i = 0;i < arr.length ;i++ ) {            //獲取每一個一維陣列
            for (int j = 0;j < arr[i].length ;j++ ) {    //獲取每一個一維陣列中的元素
                sum = sum + arr[i][j];                    //累加
            }
        }

        System.out.println(sum);
###05.20_Java語言基礎(思考題Java中的引數傳遞問題及圖解)(掌握)
* A:案例演示

        看程式寫結果,並畫記憶體圖解釋
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            System.out.println("a:"+a+",b:"+b);
            change(a,b);
            System.out.println("a:"+a+",b:"+b);
    
            int[] arr = {1,2,3,4,5};
            change(arr);
            System.out.println(arr[1]);
        }
    
        public static void change(int a,int b) {
            System.out.println("a:"+a+",b:"+b);
            a = b;
            b = a + b;
            System.out.println("a:"+a+",b:"+b);
        }
    
        public static void change(int[] arr) {
            for(int x=0; x<arr.length; x++) {
                if(arr[x]%2==0) {
                    arr[x]*=2;
                }
            }
        }
 

視訊下載地址:https://download.csdn.net/download/xxf_is_girl_gad/10886817