標籤:二維數組 code hang 異常 公司 概念 void 鍵盤錄入 迴圈控制
05.01_Java語言基礎(數組概述和定義格式說明)(瞭解)
- A:為什麼要有數組(容器)
- B:數組概念
- 數組是儲存同一種資料類型多個元素的集合。也可以看成是一個容器。
- 數組既可以儲存基礎資料型別 (Elementary Data Type),也可以儲存引用資料類型。
- C:數組定義格式 資料類型[] 數組名 = new 資料類型[數組的長度];
05.02_Java語言基礎(數組的初始化動態初始化)(掌握)
- A:什麼是數組的初始化
- 就是為數組開闢連續的記憶體空間,並為每個數組元素賦予值
- B:如何對數組進行初始化
- a:動態初始化 只指定長度,由系統給出初始化值
- b:靜態初始化 給出初始化值,由系統決定長度
- C:動態初始化的格式:
- 資料類型[] 數組名 = new 資料類型[數組長度];
- D:案例示範
05.03_Java語言基礎(Java中的記憶體配置以及棧和堆的區別)
- A:棧(掌握)
- B:堆(掌握)
- C:方法區
- D:本地方法區
- E:寄存器
05.04_Java語言基礎(數組的記憶體配置圖解1一個數組)(掌握)
05.05_Java語言基礎(數組的記憶體配置圖解2二個數組)(瞭解)
05.06_Java語言基礎(數組的記憶體配置圖解3三個引用兩個數組)(瞭解)
05.07_Java語言基礎(數組的初始化靜態初始化及記憶體配置圖)(掌握)
- A:靜態初始化的格式:
- 格式:資料類型[] 數組名 = new 資料類型[]{元素1,元素2,…};
- 簡化格式:
- 資料類型[] 數組名 = {元素1,元素2,…};
- B:案例示範
- C:畫圖示範
05.08_Java語言基礎(數組操作的兩個常見小問題越界和null 指標)(掌握)
- A:案例示範
- a:ArrayIndexOutOfBoundsException:數組索引越界異常
- b:NullPointerException:null 指標異常
- 原因:數組已經不在指向堆記憶體了。而你還用數組名去訪問元素。
- 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;
- }
- }
- }
複製代碼
【搬磚】安卓入門(4)- Java開發編程基礎--數組