方法的定义格式
修饰符 返回值类型 方法名称(参数类型 参数名称, …){
方法体
return 返回值;
}
修饰符:现阶段固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
方法名称:方法的名字,命名方式采用“小驼峰”
参数类型:进入方法的数据是什么类型、
参数名称:进入方法的数据对应的数据变量名称,参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情,若干行代码
return:停止当前的方法,将后面的返回值还给调用处
返回值:方法执行后最终产生的数据结果,return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。
例如:
定义一个两int数字相加的方法。三要素:
返回值类型:int
方法名称:sum
参数列表:int a,int b
public class Demo{
public static void main(String[] args){
}
public static int sum(int a,int b){
int result = a + b;
return result;
}
}
方法的三种调用格式
- 单独调用:方法名称(参数);
- 打印调用:System.out.println(方法名称(参数));
- 赋值调用:数据类型 变量名称 = 方法名称(参数);
public class Demo{
public static void main(String[] args){
//单独调用
sum(a:10, b:20);
//打印调用
System.out.println(sum(a:10, b:20));
//赋值调用
int number = sum(a:15, b:25);
System.out.println(“变量的值:” + number);
}
}
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。例如两个数字相加,必须知道两个数字各自是多少,才能相加。
无参数:小括号当中留空,一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。例如定义一个方法,打印固定10次HelloWorld
public class Demo{
public static void main(String[] args){
method1(a:10, b:20);
method2();
}
public static void method1(int a,int b){
int result = a * b;
System.out.println(“结果是:” + result);
}
public static void method2(){
for(int i = 0; i < 10; i++){
System.out.println(“Hello,World!” + i);
}
}
}
对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用
但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用
public class Demo{
public static void main(String[] args){
//main方法单独调用getSum()方法,把结果告诉num变量
int num = getSum(a:10, b:20);
System.out.println(“返回值是:” + num);
}
printSum(a:100, b:200);
}
//getSum方法负责两个数字相加,有返回值int赋值
public static int getSum(int a, int b){
int result = a + b;
return result;
}
//printSum方法负责把两个值相加并进行打印输出
public static void printSum(int a,int b){
int result = a + b;
System.out.println(“结果是:” + result);
}
使用方法时的注意事项
- 方法应该定义在类当中,但是不能在方法中再定义方法。不能嵌套。
- 方法定义的前后顺序无所谓。
- 方法定义之后不会执行,如果希望执行,一定要调用。
- 如果方法有返回值,那么必须写上“return 返回值;”,不能没有
- return后面的返回值数据,必须和方法的返回值类型对应起来。
- 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
- 对于void方法当中最后一行的return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
public class Demo{
public static int method1(){
return 10;
}
public static void method2(){
return 10;//错误写法,方法没有返回值
return; //没有返回值,只是结束方法的执行而已
}
public static void method3(){
System.out.println(“AAA”);
System.out.println(“BBB”);
return;
}
public static void main(String[] args){
}
方法重载的基本使用
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。
方法的重载(overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。
public class Demo{
public static void main(String[] args){
System.out.println(sum(a:10, b:20));
System.out.println(sum(a:10, b:20, c:30));
System.out.println(sum(a:10, b:20, c:30, d:40));
}
public static int sum(int a,int b){
System.out.println(“有2个参数的方法执行!”);
return a + b;
}
public static int sum(int a,int b,int c){
System.out.println(“有3个参数的方法执行!”);
return a + b + c;
}
方法重载的注意事项
方法重载与下列因素相关:
- 参数个数不同
- 参数类型不同
- 参数的多类型顺序不同
方法重载与下列因素无关:
4. 与参数的名称无关
5. 与方法的返回值类型无关