1:比较两个字符串相同
比较字符串的内容是否相等: 要使用equals方法比较 字符串1.equals(字符串2)-->boolean->true相等|false不相等
如果存在常量放在字符串1的位置->就是前面
2:方法的参数
形式参数->形参 : 定义方法时()中的参数 相当于局部变量的声明
作用域: 在当前方法中有效 实际参数->实参 : 调用方法时()中的参数 相当于为局部变量赋值
public class Class004_Param {
public static void main(String[] args) {
int sum = getSum(1,3); //实参
System.out.println(sum);
}
public static int getSum(int x,int y){ //形参
return x+y;
}
}
3:return返回值
有返回值类型的方法中: 必须存在!!!!必须带出返回值 1) 提前结束方法 2)带出返回值
没有返回值类型的方法中: 1)提前结束方法
注意: 不可达语句出现: 1)return后面出现其他语句 2)break后面直接出现的语句 3)continue后面直接出现的语句 4)while--true|死循环后的代码 5)while(false){中的代码
兼容类型:
形参与实参之间 : 实参类型<=形参类型
返回值类型 : 接收方法返回值变量的类型>=方法的返回值类型>=return后面数据的类型
4:方法重载
前提 : 如果一个类中的功能的实现,不同的实现方式,需要不同的方法体,可以让这些方法构成方法的重载,就允许方法名字相同,方法使用;
特点:一个类中的多个方法,他们方法名相同,参数列表不同
满足的三个条件:
1.同一个类中的多个方法 2.方法名相同 3.参数列表不同 | 方法签名不同 参数的个数不同 参数的类型不同 不同类型的参数顺序不同
方法签名 : 方法名+参数列表,是方法的唯一标识
如何调用多个重载方法中的某一个: 可以不同的实参匹配,由实参决定
注意:
方法的重载与方法的修饰符无关 方法的重载与方法的返回值类型无关 方法的重载与方法的参数名字无关 方法的重载只与方法名+参数列表有关
一个类中,方法是封装的一种体现 方法的重载就是多态的一种体现
5:方法递归
递归头 : 停止自己调用自己的条件 递归体 : 自己调用自己
临界条件 : 递归头 : 停止自己调用自己的条件 递归前进段 : 不停的自己调用自己的过程 递归后退段 : 当满足临界条件之后,把结果返回给上一层的过程
注意: 递归可以简化结构,合理的地方使用可以让程序变得更简单,但是用不好容易造成内存的溢出,使用要慎重
6:数组
数组 是一种存储数据的数据结构 变量:存储单个数据 数组:存储多个数据
相同类型数据的有序集合 在内存中是一段连续的内存空间
特点:
数组是一种引用数据类型 数组是定长,长度一旦确定不可改变 一个数组中存储相同类型的数据 数组中数据是有序的,通过索引|下标进行管理
数组的定义: 声明: 变量的声明: 数据类型 变量名; 数组的声明: 数据类型[] 数组名; -->推荐 数据类型 数组名[]; 数据类型 : 可以为任意数据类型(基本|引用) 规定当前数组中存储数据的类型
初始化: 动态初始化 : 先创建数组后赋值数据 数据类型[] 数组名 = new 数据类型[长度n]; 数组先创建没赋值存储默认值:
整数->0 小数->0.0 boolean->false 字符 -> ' ' 引用数据类型 -> null
静态初始化 : 创建数组的同时赋值 数据类型[] 数组名 = new 数据类型[]{值1,值2,值3..}; 数据类型[] 数组名 = {值1,值2,值3..}; -->简略写法