一、方法的定义
方法是一种语法结构,它可以吧一段代码封装成一个功能,以便重复调用
二、方法的作用
封装一段代码的语法结构,可以被重复调用,以此提高代码的复用性,提高开发效率,让程序逻辑更清晰
三、方法的定义格式
方法定义时需要按照方法解决的实际业务需求,来设计合理的方法形式解决问题
1、完整定义格式
修饰符 返回值类型 方法名(形参列表){
方法体代码(需要执行的功能代码)
return 返回值;
}
2、其他定义格式
(1)无参数、无返回值的方法
(2)有参数、无返回值的方法
四、方法定义时的注意事项
1、方法的修饰符暂时都用 public static 修饰,否则会出问题
2、方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据
3、如果方法不需要返回数据,返回值类型必须申明成 void(无返回值申明),此时方法内部不 可以使用 return 返回数据
4、如果方法不需要接收数据,则不需要定义形参,且调用方法时也不可以传数据给方法了
5、没有参数,且没有返回值类型( void )申明的方法,称为无参数、无返回值的方法,以此类 推
6、形参列表可以有多个,甚至可以没有;如果有多个形参,多个形参必须用“,”隔开,且不能给 初始化值
五、方法使用时的常见问题
1、方法在类中的位置放前放后无所谓,但不能定义在另一个方法里
上述图片中情况方法应放在 main 方法的括号外
2、方法的返回值类型写 void(无返回申明)时,方法内不能使用 return 返回数据,如果方法的 返回值类型写了具体类型,方法内部则必须使用 return 返回对应类型的数据
上述图片中情况不可添加 return;
上述图片中情况必须添加 return;
3、return 语句的下面不能编写代码,属于无效代码,执行不到这
上述图片中红色波浪线部分报错
4、方法不调用就不会执行,调用方法时,传给方法的数据必须严格匹配方法的参数情况
5、调用有返回值的方法
(1)可以定义变量接收结果
(2)或者直接输出调用
(3)甚至直接调用
6、调用无返回值的方法
只有一种方式:只能直接调用
六、方法的案例
1、求 1 - n 的和
2、判断一个整数是奇数还是偶数,并把判断的结果输出出来
七、方法在计算机中的执行原理
方法被调用的时候,是进入到栈内存中运行的
1、方法的运行区域
栈内存
2、栈的特点
先进后出
3、方法要在栈中运行的原因
保证一个方法调用完另一个方法后,可以回来
八、Java的参数传递机制
Java的参数传递机制都是值传递
值传递:指的是在传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本
实参:在方法内部定义的变量
形参:定义方法是 “(...)” 中所声明的参数
1、基本类型的参数传递
2、引用类型的参数传递
3、基本类型和引用类型的参数在传递时的异同
(1)都是值传递
(2)基本类型的参数传输存储的数据值
(3)引用类型的参数传输存储的地址值
4、引用类型参数传递的相关案例
(1)输出一个int类型的数组内容
要求输出格式为:[11,22,33,44,55]
上述两种方法后者更简洁、更专业
上述图片红框内容是为了防止空指针异常
(2)判断两个 int 类型的数组是否一样,返回 true 或者 false
如果两个 int 类型的数组,元素个数、对应位置的元素内容都是一样的,则认为这两个数组 是一模一样的
九、方法重载
1、定义
一个类中,出现多个方法的名称相同,但是他们的形参列表是不同的,那么这些方法就称为 方法重载
2、具体格式
3、注意事项
(1)一个类中,只要一些方法的名称相同,就算形参列表不同,那么它们也是方法重载,其他不 用管(如:修饰符,返回值类型是否一样都无所谓)
(2)形参列表不同指的是形参的个数、类型、顺序不同,不关心形参的名称
4、 应用场景
开发中文名经常需要为处理一些业务,提供多种解决方案,此时可以用方法重载来设计
5、案例
开发武器系统,功能需求如下:
(1)可以默认发射一枚武器
(2)可以指定地区发射一枚武器
(3)可以指定地区发射多枚武器
上述图片中后者更简洁
十、return 关键字在方法中单独使用
return;可以用在无返回值的方法中,作用是立即跳出并结束当前方法的执行