1,数组:数组是存储同一种数据类型多个元素的容器。数组既可以存储基本数据类型,也可以存储引用数据类型。
2,数组定义:格式1:数据类型[] 数组名;格式2:数据类型 数组名[];
3,动态初始化:数据类型[] 数组名 = new 数据类型[数组长度];静态初始化:int[] i = {1,24}
4,java内存划分:
Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈 存储局部变量
堆 存储new出来的东西
方法区 (面向对象进阶讲)
本地方法区 (和系统相关)
寄存器 (给CPU使用)
两个数组指向同一个地址的内存图
其实数组中的每个元素都是有编号的,编号是从0开始的,最大的编号就是数组的长度-1, 数组名[索引]
5,二维数组:数据类型[][] 数组名 = new 数据类型[m][n];
定义格式:
数据类型[][] 数组名
数据类型 数组名[][]; 不推荐
数据类型[] 数组名[]; 不推荐
数据类型[][] 变量名 = new 数据类型[m][n];动态初始化
数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};静态初始化
int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
6,方法就是完成特定功能的代码块
7,有明确返回值的方法的调用:
A:单独调用,没有什么意义。
B:输出调用,有意义,但是不够好,因为我可能需要对求和的结果进行进一步的操作
C:赋值调用
8,方法重载:在同一个类中,出现了方法名相同的方法,这就是方法重载。方法名相同,参数列表不同。与返回值无关。 参数列表不同: 参数的个数不同, 参数对应的类型不同。
9,方法的参数是基本类型的时候:形式参数的改变不影响实际参数。方法的参数是引用类型: 形式参数的改变直接影响实际参数。