1、方法概述
方法是一段具有独立功能的代码块,不调用就不执行;
提高代码的复用性;
先定义后调用,调用才执行。
2、方法定义、调用
定义格式:pubic static void 方法名(){ 方法体 }
调用格式:方法名();
方法调用过程:
1.方法未被调用时,都在方法区中的字节码文件(.class)中存储
2.方法被调用时,需要进入栈内存中运行
3、带参数的方法定义和调用
定义格式:pubic static void 方法名(参数){ 方法体 }
1.单个参数:pubic static void 方法名(数据类型 变量名){ 方法体 }
eg. pubic static void 方法名(int number){ 方法体 }
2.多个参数:pubic static void 方法名(数据类型 变量名1, 数据类型 变量名2){ 方法体 }
eg. pubic static void 方法名(int number1, int number2){ 方法体 }
调用格式: 方法名(参数);
1.单个参数:方法名(变量名/常量值);
2.多个参数:方法名(变量名1/常量值1,变量名2/常量值2);
形参和实参
形参:形式参数,方法定义中的参数,需要指定数据类型;pubic static void 方法名(int number){ 方法体 }
实参:实际参数,方法调用中的参数;方法名(变量名/常量值);
案例:打印n~m所有奇数
public static void main(String[]args){
print (n,m);
}
public static void print (int n,int m){
For(int i=n; i<=m; i++){
if(i%2!=0){System.out.println(i);}
}
}
4、带返回值方法定义和调用
定义格式:public static 返回值类型 方法名(参数){ 方法体; return 返回值 ; }
Eg.1: public static boolean isEvenNumber (int number){ return true}
Eg.2: public static int getMax(int a, int b){ return 100; }
调用格式:
格式1:方法名(参数); Eg: isEvenNumber(5); (未接收结果)
格式2:数据类型 变量名=方法名(参数); Eg: Boolean flag = isEvenNumber(5);
带返回值方法需要定义变量接收,不然无意义
输出调用:System.out.println(getMax());只能看结果
5、注意事项
- 方法不能嵌套定义
- void表示没有返回值,没有返回值可省略return
- Return 下面不能编写代码,执行不到,属于无效语句
6、方法重载
方法名相同,参数也完全相同,称为方法的重复定义,是一种冲突性错误
方法重载: 指 同一个类中方法名相同,参数不同(个数不同/类型不同/顺序不同)的方法。可以减少使用过多方法名。
7、方法参数传递
基本类型:形参的改变不影响实参
引用类型:形参的改变影响实参