十二、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);
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,384评论 19 139
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,830评论 8 265
  • 数据采集概述: 1.采集目的: 获取数据,用户后续的建设,建立数据仓库提供统一的数据分析准备。 2.采集的数据源:...
    张可以觉得可以阅读 4,765评论 0 0
  • 亲爱的!你终于找到组织了! 我是路口小编 目标一天一更实际来去无踪 不过!有你陪着我哇! 最后这是本次上海国际电影...
    朴夏天阅读 1,053评论 0 0
  • 足跟痛是由于足跟的骨质、关节、滑囊、筋膜等处病变引起的疾病。 ——常见的为跖筋膜炎,往往发生在久立或行走工作者,长...
    象浦阅读 3,584评论 4 4