一、方法
方法的执行过程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kaYqBI9f-1622549091168)(C:\Users\HP\Desktop\学习\java初级\img\方法的执行内存分析.png)]
二、方法的重载
1.定义:
在一个类中当方法完成的功能类似时,可以使用相同的名称,并且保证方法的参有所不同,可以参数的个数、类型、参数类型顺序任何一个不同,保证方法签名唯一。
方法签名:方法名+参数列表
2.需要满足的条件:
必须是同一个类
方法名必须相同
参数列表不同
)参数的个数不同。
)参数的对应的数据类型不同。
)参数的顺序不同(不同类型的可以交换位置,相同类型的参数顺序不同无意义)
注意:方法重载与返回值无关,与修饰符无关
三、递归(自己调用自己)
结构
1.定义递归头|临界条件:递归结束的条件,即什么时候不调用自身方法。如果没有头,将陷入死循环。
2.递归体(递归前进段&递归后退段):什么时候需要调用自身方法以及自身需要做什么操作。
以5!为例:(i=5)
public static int recursion( int i){
if(i==1){
return 1;
}
return i*recursion( i-1);
}
注意:无限套娃,容易把自己绕进去,最好配合图去理解,稍有不慎便会出问题,所以使用要慎重
四、数组
1.数组的定义:
是一种存储数据的数据结构,是相同类型数据的有序集合,在内存中是一段连续的内存空间
2.与变量的区别:
变量:存储单个数据
数组:存储多个数据
3.特点
数组是一种引用数据类型
数组是定长,长度一旦确定不可改变
一个数组中存储相同类型的数据
数组中数据是有序的,通过索引|下标进行管理
4.关于数组下标|索引
从0开始,每次+1
根据数组的索引操作数组中的数据
5.获取数组长度
一般定长,不过也可以通过【数组名.length(连续内存空间的个数)】的形式获取数组长度
6.关于数组的基本语法:
1)声明:
变量的声明: 数据类型 变量名;
数组的声明: 数据类型[] 数组名; -->推荐,java常用
数据类型 数组名[]; -->C语言用法,Java也能使用
数据类型 : 可以为任意数据类型(基本|引用)
规定当前数组中存储数据的类型
2)初始化:
a)动态初始化 : 先创建数组后赋值数据
数据类型[] 数组名 = new 数据类型[长度n];
数组先创建没赋值存储默认值:
整数->0
小数->0.0
boolean->false
字符 -> ’ ’
引用数据类型 -> null
b)静态初始化 : 创建数组的同时赋值
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3…};
数据类型[] 数组名 = {值1,值2,值3…}; -->简略写法
7.数组循环遍历
1.普通for循环,遍历i当做数组的索引
2.增强for循环|for…each 从前往后
for(数据类型 变量名:数组名|集合名){
变量名->指代|代表数组中的每一个数据
}