Java方法
1.方法概述
**方法(method)**是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
1.方法必须先创建才可以使用,该过程成为方法定义。
2.方法创建后并不是直接可以运行的,需要手动使用后才执行,该过程成为方法调用。
2.方法的定义与调用
方法定义的格式:
public class main{
public static void main(String[] args){
//在main主程序里面调用新定义的方法
方法名();
}
/* 定义方法
方法定义过程中,不能够将方法定义在方法里面
*/
public static void 方法名(){
//方法里面书写方法代码
System.out.println("方法里面书写方法代码");
}
}
注意:
- 如果方法定义好了之后,必须要调用才能执行该方法.
3.带参数的方法
带参数的定义格式:
public static void 方法名(参数){...}
public static void方法名(数据类型变量名称){…}
范例:单个参数:
public static void方法名(int a){…}
格式:多个参数:
public static void方法名(数据类型变量名称,数据类型变量名称,…){…}
范例:多个参数:
public static void方法名(inta,intb){…}
注意事项:
- 方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错;
- 多个参数之间使用逗号(,)分隔,最后一个参数是不用写逗号(,)分隔.
有参方法的调用:
方法名(参数);
格式:public static void getMax(inta,intb){…}
带参数方法调用格式:方法名(参数):
单个参数:方法名(变量名/常量值):例如getNumber(20)
多个参数:方法名(变量名1/常量值1,变量名2/常量值2):例如1 getMax(10,20)
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错
4. 形式参数与实际参数
形参:方法定义中的参数(就是我们方法中定义的参数)
实参:方法调用中的参数.(就是我们方法需要传递的参数)
5. 带返回值方法的定义与调用
带返回值方法定义:
格式:
public static 数据类型 方法名(参数){
return 数据;
}
//示例
public static int fff(int a){
return a;
}
注意事项:
方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将要报错.
带返回值方法调用:
格式:
数据类型 变量名 = 方法名(参数);
例如:
int a= fff(10);
6.方法重载
含义:方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载。
-
多个方法在同一个类中。
-
多个方法具有相同的方法名。
-
多个方法的参数类型不相同,类型不同或者数量不同。
下面是报错提示截图:
方法重载的特点:
-
重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式。
-
重载仅针对同一个类中的名称与参数进行识别,与返回值类型无关,换句话说不能通过返回值类型来判断两个方法是否相互重载。
重载总结
-
在同一个类中,方法的名称相同,方法的参数类型不同。
-
不看方法的参数类型的名称
-
不看方法的返回值类型
案例理解
需求1:求两个int类型数据的和的方法。
public static int sum(int a,int b){
return a+b;
}
需求2:求两个double类型数据和的方法。
public static double sum(int a,int b){
return a+b;
}
需求3:求三个int类型数据和的方法。
public static int sum(int a,int b,int c){
return a+b+c;
}
7.方法的参数传递
对于引用类型的参数,形参的改变会影响到实参的值.
对于基本类型的参数,形参的改变不会影响到实参的值.
总结
以下👇是方法调用的总流程图,如果看不懂可以先跳过哈。
如何写一个方法:
- 先定义,再调用
- 如果是没有返回值的方法,直接在被调用的方法内部输出结果即可
- 如果是带返回值的方法,就调用完毕之后,用一个变量去接受他的结果,输出这个变量
- 调用方法:
- 直接调用法:
方法名()
或者方法名(实参)
【针对没有返回值的方法】- 打印调用法:
sout( 方法名() )
或者sout(方法名 (实参) )
【针对有返回值的方法】- 赋值调用法:
数据类型 变量名 =方法名()
或者数据类型 变量名 =方法名(实参)
【针对有返回值的方法】
声明:本篇文章内容来自网络其他教程,本文只作为学习笔记进行记录并加之修改。如有问题,可以私信我或者在评论区提出来,这对我来说十分的重要,感谢( *˘ ³˘)♡