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