十二、Java中的方法

方法出现的必要性

使用“方法”必然有其好处,1.能够实现代码模块化;2.能够实现代码的复用

方法的定义

方法定义的语法:
[各种方法修饰符-可选] [方法的返回类型-必选(java支持的类型+void)] [方法名-必选][参数列表-可以为空,必须有小括号] [方法体-目前必选]

注意:如果一个方法的返回类型不是void,那么必须在方法体的内部,使用关键字return 返回一个与返回类型兼容的一个值。

名词解释

方法的返回值:如果方法执行完毕之后,没有返回一个结果,那么必须使用void 声明该方法返回类型为 空。
如果一个方法执行完毕之后产生了一个结果,那么该方法必须在方法名之前添加该结果的类型的名。
注意:方法的返回类型 包括 (void + java支持的所有的类型)

方法的名字:命名规范与局部变量一致。 遵循见名知意。驼峰命名法。名字需要体现方法实现的功能

参数列表(形参列表):代表了方法的需求。在使用方法的时候,需要给参数中的每一个变量赋值。参数列表可以为空。也可以有任意多个参数,参数的类型没有限制,java支持的类型即可。多个参数使用 逗号 分割。

方法的签名部分:方法名+参数列表,使用签名部分区分不同的方法。 在同一个类内,方法名+参数列表必须是唯一的 。
大括号内:方法体:实现方法功能的主体部分。

定义一个方法的例子:

//求两个int 类型值的最大值
public static int max(int a,int b){
    int max = a > b? a: b;
    return max;
}

return关键字

如果一个方法的返回类型不是void。那么该方法必须在方法体内使用return 关键字带回一个与方法的返回类型兼容的数值。

如果是void返回类型。绝对不能使用return 带回任意的java的数据类型的值。并且执行到return 后立即结束当前方法。

如果方法是void返回类型。在方法内可以单独使用[return;]直接结束当前方法。
如果在方法中当满足某些条件的时候,想立即结束方法,可以直接执行 return;

如果在方法中执行到了return 语句,那么该方法立即返回(结束)。
举个例子:

//如果不加else,不能保证方法体中if一定执行,因此不能保证一定有return,编译不能通过
//同时传进double类型数据,返回int类型数据,中间要加强制性转换
public static int round(double num){
    if(num>0){
        return (int)Math.round(num);
    }else{
        return (int)Math.round(num);
    }
}

方法在底层是如何执行的?

一张图,你就明白


一个方法(交换变量的值)在底层的实现示意图

方法定义的注意事项

1:方法不能被定义到任意的其他的方法的内部去。
2:所有的方法都必须在某一个类的内部。必须被最外层的大括号包围。
3:如果想使用方法提供的功能。方法的调用。那么该方法必须直接的或者间接的被 main 调用。
4:方法的调用的格式语法:方法名+参数列表(实参列表)。


方法的重载

重载的概念:在同一个类的内部,方法名字相同,参数列表不同的方法,称之为方法的重载。 与返回类型无关。
特征:参数列表不同:个数不同、类型不同、顺序不同。
举个例子:

public static int add(int a,int b){
        return a + b;
    }
    
    public static int add(int a,int b,int c){
        return  a + b + c;
    }
    
    public static double add(double d1,double d2){
        return d1 + d2;
    }
    
    public static int add(int a,double d){
        return (int)(a + d);
    }
    
    public static int add(double d , int a){
        return (int)(a + d);
    }

你可能感兴趣的:(十二、Java中的方法)