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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容

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