1. 方法:是程序中最小的执行单元
- 方法里面的代码,要么全都执行,要么全都不执行
- 重复的代码,具有独立功能的代码可以抽取到方法中
- 方法的好处:可以提高代码的复用性,可以提高代码的可维护性。
- java虚拟机在运行时会先自动调用main()方法
2. 方法的格式
- 方法定义:把一些代码打包在一起,该过程称为方法定义。
- 方法定义在main()方法的外面,类的里面。
- 方法定义小技巧:
a. 我要干什么? 怎么编写方法体
b. 我干这件事情需要什么才能完成?怎么编写形参
c. 方法的调用处,是否需要继续使用方法的结果。
如果要用,那么方法必须有返回值。
如果不要用,方法可以写返回值,也可以不写返回值
- 方法调用:方法定义后并不是直接运行的,需要手动调用才能执行,该过程称为方法调用。
a. 最简单的方法定义和调用
定义格式:
public static void 方法名(){
方法体(就是打包起来的代码);
}
调用格式:
方法名();
- 注意方法必须先定义后调用,否则程序将会报错。
- 口诀:看到方法进入方法,执行完毕回到调用处。
b. 带参数的方法定义和调用
定义格式:
public static void 方法名(参数1,参数2,...){
方法体;
}
调用格式:
方法名(参数1,参数2,...);
- 注意:方法调用时,参数的数量和类型必须与方法定义中小括号里面的变量一一对应,否则程序将报错。
- 当方法中需要的数据不明确时,就可以把参数定义在小括号里面,在调用方法时,根据实际情况再传入不同的值。
- 形参:全称形式参数,指方法定义中的参数
- 实参:全称实际参数,指方法调用中的参数
c. 带返回值的方法定义和调用
定义格式:
public static 返回值类型 方法名 (参数){
方法体;
return 返回值;
}
调用格式:
//直接调用
方法名(实参);
//赋值调用
数据类型 变量名 = 方法名(实参);
//输出调用,例如打印输出
System.out.println(方法名(实参));
- 方法的返回值其实就是方法运行的最终结果。
- 返回值是返回给方法的调用处
- 如果在调用处要根据方法的结果,去编写另一段代码逻辑,为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法。
3. 方法的注意事项
- 方法不调用就不执行
- 方法与方法之间是平级关系,不能互相嵌套定义
- 方法的执行顺序与定义顺序无关,但与调用顺序有关
- 方法的返回值类型为void,表示该方法没有返回值
没有返回值的方法可以省略return语句不写,如果非要编写return语句,后面不能跟具体的数值
- 方法中遇见return就结束方法了,但如果不写return,方法就会一直执行,直到遇见右括号。
- return语句下面,不能编写代码,因为永远执行不到,属于无效的代码
4. return关键字
- 两个效果:结束方法,返回结果
- 不能单独存在,必须写在方法的内部
- 方法没有返回值(void),可以省略不写return,如果书写,表示结束方法,但后面不能跟具体的数值
- 方法有返回值,必须要写return,表示结束方法和返回结果
- return和break的区别:
return:return和循环没什么关系,但跟方法有关。表示结束方法,返回结果。如果方法执行到了return,那么整个方法全部结束,里面的循环也会随之结束
break:break跟方法没有什么关系,表示结束循环或者结束switch。
5. 方法的重载
- 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
- 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
- 简单记:同一个类中,方法名相同,参数不同的方法,与返回值无关。
参数不同:个数不同,类型不同,顺序不同。(不建议通过顺序不同来构成重载)
- Java虚拟机会通过参数的不同来区分同名的方法
- 左键单击调用处的方法名,按Ctrl+alt+v,快速生成左边(变量)。