黑马程序员——基础知识——数组
来源:互联网 发布:js移除元素的属性值 编辑:程序博客网 时间:2024/06/06 19:17
05.01 数组概述和定义格式说明
1、为什么要有数组(容器)为了存储同种数据类型的多个值
2、数组概念
数组是存储同一种数据类型多个元素的集合,也可以看成容器
数组既可以存储基本数据类型,也可以存储引用数据类型
3、数组定义格式
数据类型[ ] 数组名 = new 数据类型[数组的长度];
05.02 数组的初始化动态初始化
1、什么是数组的初始化?
就是为数组开辟连续的内存空间,并为每个元素赋予值
2、如何对数组进行初始化
动态初始化:只指定长度,由系统给出初始化值
int[ ] arr = new int[ 5];
静态初始化:给出初始化值,由系统决定长度
3、动态初始化的格式:
数据类型[ ] 数组名 = new 数据类型[数组长度];
4、案例演示
输出数组名称和数组元素
05.03 java中的内存分配以及栈和堆的区别
1、栈(掌握) 存储局部变量
局部变量:定义在方法声明上和方法中的变量
2、堆(掌握) 存储new出来的数组或对象
3、方法区 面向对象部分讲解(相当于代码区)
4、本地方法区 和系统相关
5、寄存器 给CPU使用
05.04 数组的内存图解1一个数组
1、画图演示
一个数组
05.05 数组的内存图解2二个数组
1、画图演示
二个不同的数组
05.06数组的内存图解3三个引用两个数组
1、画图演示
三个引用,有两个数组的引用指向同一个地址
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]);
05.09 数组的操作1遍历
1、案例演示
数组遍历:就是依次输出数组中的每一个元素
数组的属性:arr.length数组的长度
数组的最大索引:arr.length – 1;
05.10 数组的操作2获取最值
1、案例演示
数组获取最值(获取数组中的最大值最小值)
05.11 数组的操作3反转
1、案例演示
数组元素反转(就是把元素对调)
05.12 数组的操作4 查表法
1、案例演示
数组查表法(根据键盘录入索引,查找对应星期)
05.13 数组的操作5基本查找
1、案例演示
数组元素查找(查找指定元素第一次在数组中出现的索引)
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、案例演示
定义二维数组,输出二维数组名称,一维数组名称,一个元素
05.15 二维数组格式1的内存图解
1、画图展示
画图讲解上面的二维数组名称,一维数组名称,一个元素的值的问题
05.16 二维数组格式2的讲解及其内存图解
1、二维数组格式2
int[][] arr = new int[3][];
2、二维数组格式2的解释
3、案例演示
讲解格式,输出数据,并画内存图
05.17 二维数组格式3的讲解及其内存图解
1、二维数组格式3
int[][] arr ={{1,2,3},{4,5},{6,7,8,9}};,
2、二维数组格式3的解释
3、案例演示
讲解格式,输出数据,并画内存图
05.17 二维数组格式3的讲解及其内存图解
1、二维数组格式3
int[][] arr ={{1,2,3},{4,5},{6,7,8,9}};,
2、二维数组格式3的解释
3、案例演示
讲解格式,输出数据,并画内存图
05.19 二维数组练习2求和
1、案例演示
需求:公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
05.20 思考题java中的参数传递问题及图解
数组属于引用数据类型
本题主要看基本数据类型和引用数据类型的参数传递问题
1、案例演示
看程序写结果,并画内存图解释
- 黑马程序员——基础知识--数组
- 黑马程序员——Java基础知识——数组
- 黑马程序员——java基础知识篇——>数组
- 黑马程序员——基础知识——数组
- 黑马程序员—c#基础知识。。
- 黑马程序员—Java基础知识
- 黑马程序员—多线程基础知识
- 黑马程序员—数组
- 黑马程序员—数组
- 黑马程序员——ADO.net基础知识
- 黑马程序员——Sql基础知识总结
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识补充
- 黑马程序员——java基础知识
- 黑马程序员——反射基础知识
- 黑马程序员——Java基础知识
- 黑马程序员——OC语言基础知识
- 黑马程序员——面向对象基础知识
- *LeetCode-Contains Duplicate III
- Java程序员常犯的10个错误
- 数据结构实践——队列数组
- notepad++使用技巧总结
- 一个计算HBase表中行数的MapReduce程序
- 黑马程序员——基础知识——数组
- 传统轮播
- POJ 3074 解题报告
- 关于显著性检测的思考
- 今天继续码~python的文件访问~
- Servlet学习
- 《机器学习实战》笔记之九——树回归
- 数据结构实践项目——队列
- 不要学习代码,要学会思考