方法的概述:
1.方法:
是将具有独立功能的代码块组织称为一个整体,使其具有特殊功能的代码集
注意:
(1).方法必须先创建才可以使用,该过程叫做方法定义
(2).方法创建后并不是直接运行的,需要手动使用后才可以执行,该过程称为方法的调用
2.1方法的定义
public static void 方法名(){
方法体
}
比如:public static void isevennnumber(){
方法体
}
2.2方法的调用
方法名();
注意:方法必须先定义后调用,否则程序将会报错
2.3方法的调用过程
程序从mian方法执行先执行main方法中的内容,如果main中有方法的调用,执行完该方法后,回到main方法。
3.带参数方法的定义和调用
3.1格式:
public static void 方法名(参数){......}
(单个参数): public static void 方法名(数据类型 变量名){.......}
(多个参数):public static void 方法名(数据类型 变量名1,数据类型 变量名2......){......}
3.2带参数方法调用
格式:方法名(参数);
(单个参数):方法名(变量名/常量值);
(多个参数):方法名(变量名1/常量值1,变量名2/常量值2.....);
注意:方法调用时,参数的数量必须与方法定义中的设置相匹配,否则长须将报错
3.3形参和实参
形参:方法定义中的参数
比如:public static void isEvenNumber(int number){}
其中 int number就是形参(等同于变量的定义格式)
实参:方法调用中的参数
比如 isEvenNumber(number);
等同于变量或常量,其中比如number就是实参。
练习:
public static void main(String[] args) { System.out.println("调用奇偶数的判断"); int a=10; int b=23; jioushu(a,b); } public static void jioushu( int number1,int number2) { if(number1%2==0) System.out.println("这个数为偶数"); else System.out.println("这个数为奇数"); if(number2%2==0) System.out.println("这个数为偶数"); else System.out.println("这个数为奇数"); }
4.带返回值的方法的定义和调用
4.1格式:
public static 数据类型 方法名(参数){
return数据;
}
注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序报错
4.2带返回值的方法调用
格式1:方法名(参数);(参数可以是常量或者变量)
格式2:数据类型 变量名=方法名(参数);
如:boolean flag=isEvenNumber(5);
注意:方法的返回值通常会使用变量接收,否则该返回值将无意义
练习:
public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("输入a的取值"); int a=sc.nextInt(); boolean flag=jioushu(a); System.out.println(flag); } public static boolean jioushu(int number) { if (number%2==0) { return true; } else { return false;} }
方法的注意事项:
(1)方法不能嵌套定义
(2)void 表示没有返回值,可以省略return,也可以单独书写return,后面一定不要带数据。(return也代表方法的结束,下面代码不会执行,可能会报错)
5.方法的通用格式
格式:public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
public static: 公共的类型静态
返回值类型:方法操作完毕之后的数据的数据类型
如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return
方法名: 调用方法时候使用的标识
参数:由数据类型和变量名组成,多个参数之间用逗号隔开
方法体:完成功能的代码块
return:如果方法操作完毕,有数据的返回,用于数据返回给带调用者
定义方法时,做到俩个明确:
明确返回值类型:主要是明确操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型明确参数;主要是明确参数的类型和数量
调用方法时:
void类型的方法,直接调用
非void类型的方法,推荐使用变量接收调用
6.方法重载:
方法重载指的是同一个类中定义的多个方法之间的关系,满足下列条件的多个方法香炉构成重载
(1)多个方法在同一个类中
(2)多个方法具有相同的方法名
(3)多个方法的参数不相同,类型不同或者数量不同
方法重载的特点:
(1)重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
(2)重载仅针对同一个类中方法的名称和参数进行识别,与返回值无关,换句话说不能通过返回值来判定俩个方法是否互相构成重载
例如:
public class a{ public static float fn(int a){} public static int fn(int a,int b){} }//方法的重载必须在一个类下面,如果同类型都是整数,需要强制类型转化
方法的参数传递:
1.方法的参数传递(基本类型):
对于基本类型的参数,形式参数的改变,不影响实际参数的值
2.方法的参数传递(引用类型)
对于引用数据类型的参数,形式参数的改变,影响实际参数的值
引用数据类型的数据放在堆内存中,基本数据类型的数据放在栈内存中,所以会改变