黑马程序员——基础知识——数组

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

05.01 数组概述和定义格式说明

       1、为什么要有数组(容器)为了存储同种数据类型的多个值

       2、数组概念

              数组是存储同一种数据类型多个元素的集合,也可以看成容器

              数组既可以存储基本数据类型,也可以存储引用数据类型

       3、数组定义格式

              数据类型[ ] 数组名 = new 数据类型[数组的长度];

黑马程序员——基础知识——数组_第1张图片

05.02 数组的初始化动态初始化

       1、什么是数组的初始化?

              就是为数组开辟连续的内存空间,并为每个元素赋予值

       2、如何对数组进行初始化

              动态初始化:只指定长度,由系统给出初始化值

                     int[ ]  arr =  new  int[ 5];

              静态初始化:给出初始化值,由系统决定长度

       3、动态初始化的格式:

              数据类型[ ]  数组名  =  new 数据类型[数组长度];

       4、案例演示

              输出数组名称和数组元素


黑马程序员——基础知识——数组_第2张图片

05.03 java中的内存分配以及栈和堆的区别

       1、栈(掌握)  存储局部变量

              局部变量:定义在方法声明上和方法中的变量

       2、堆(掌握)  存储new出来的数组或对象

       3、方法区          面向对象部分讲解(相当于代码区)

       4、本地方法区  和系统相关

       5、寄存器          给CPU使用


黑马程序员——基础知识——数组_第3张图片

05.04 数组的内存图解1一个数组

       1、画图演示

              一个数组


黑马程序员——基础知识——数组_第4张图片

05.05 数组的内存图解2二个数组

       1、画图演示

              二个不同的数组


黑马程序员——基础知识——数组_第5张图片

05.06数组的内存图解3三个引用两个数组

       1、画图演示

              三个引用,有两个数组的引用指向同一个地址


黑马程序员——基础知识——数组_第6张图片

黑马程序员——基础知识——数组_第7张图片

05.07 数组的初始化静态初始化及内存图

       1、静态初始化的格式:

              格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

              简化格式:

                     数据类型[] 数组名 = {元素1,元素2,…};

       2、案例演示

              对数组的解释

              输出数组名称和数组元素

       3、画图演示

              一个数组


05.08 数组操作的两个常见小问题越界和空指针

       1、案例演示

              A:ArrayIndexOutOfBoundsException:数组索引越界异常

                     原因:你访问了不存在的索引

       2、NullPointerException:空指针异常

              原因:数组已经不再指向堆内存了,而你还用数组名去访问元素

              int[] arr = {1 ,2, 3};

              arr = null;

              System.out.println(arr[0]);


黑马程序员——基础知识——数组_第8张图片

05.09 数组的操作1遍历

       1、案例演示

              数组遍历:就是依次输出数组中的每一个元素

              数组的属性:arr.length数组的长度

              数组的最大索引:arr.length – 1;


黑马程序员——基础知识——数组_第9张图片

05.10 数组的操作2获取最值

       1、案例演示

              数组获取最值(获取数组中的最大值最小值)


黑马程序员——基础知识——数组_第10张图片

05.11 数组的操作3反转

       1、案例演示

              数组元素反转(就是把元素对调)


黑马程序员——基础知识——数组_第11张图片

05.12 数组的操作4 查表法

       1、案例演示

              数组查表法(根据键盘录入索引,查找对应星期)


黑马程序员——基础知识——数组_第12张图片

05.13 数组的操作5基本查找

       1、案例演示

              数组元素查找(查找指定元素第一次在数组中出现的索引)


黑马程序员——基础知识——数组_第13张图片

05.14 二维数组概述和格式1的讲解

       1、二维数组概述 就是在数组中定义数组

       2、二维数组格式1

              int[] []  arr =  new int[3] [2];

       3、二维数组格式1的解释

       4、注意事项

              A以下格式也可以表示二维数组

                     数据类型 数组名[] [] = new 数据类型[m] [n];

                     数据类型[] 数组名[] = new 数据类型[m] [n];

              B注意下面定义的区别

                     int x;

                     int y;

                     int x , y;

                    

                     int[] x; 一维数组

                     int[] y[]; 二维数组

 

                     int[] x , y[];   x是一维数组,y是二维数组

                            相当于int[]  x;  int[] y[];

       5、案例演示

              定义二维数组,输出二维数组名称,一维数组名称,一个元素


黑马程序员——基础知识——数组_第14张图片

05.15 二维数组格式1的内存图解

       1、画图展示

              画图讲解上面的二维数组名称,一维数组名称,一个元素的值的问题



05.16 二维数组格式2的讲解及其内存图解

       1、二维数组格式2

              int[][] arr = new int[3][];

       2、二维数组格式2的解释

       3、案例演示

              讲解格式,输出数据,并画内存图


黑马程序员——基础知识——数组_第15张图片

05.17 二维数组格式3的讲解及其内存图解

       1、二维数组格式3

              int[][] arr ={{1,2,3},{4,5},{6,7,8,9}};,

       2、二维数组格式3的解释

       3、案例演示

              讲解格式,输出数据,并画内存图


黑马程序员——基础知识——数组_第16张图片

05.17 二维数组格式3的讲解及其内存图解

       1、二维数组格式3

              int[][] arr ={{1,2,3},{4,5},{6,7,8,9}};,

       2、二维数组格式3的解释

       3、案例演示

              讲解格式,输出数据,并画内存图


黑马程序员——基础知识——数组_第17张图片

05.19 二维数组练习2求和

       1、案例演示

              需求:公司年销售额求和

              某公司按照季度和月份统计的数据如下:单位(万元)

              第一季度:22,66,44

              第二季度:77,33,88

              第三季度:25,45,65

              第四季度:11,66,99


黑马程序员——基础知识——数组_第18张图片

05.20 思考题java中的参数传递问题及图解

       数组属于引用数据类型

       本题主要看基本数据类型和引用数据类型的参数传递问题

1、案例演示

看程序写结果,并画内存图解释








你可能感兴趣的:(黑马程序员——基础知识——数组)