方法
  (1)方法的定义:就是完成特定功能的代码块。
    注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。
  (2)格式:
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
       方法体语句;
      return 返回值;
    }

    返回值类型:就是功能结果的数据类型
    方法名:就是起了一个名字,方便我们调用该方法。
    参数类型:就是参数的数据类型
    参数名:就是变量(一般不超过5个)
    参数分类:
      实参:实际参与运算的数据
      形参:方法上定义的,用于接收实际参数的变量
    方法体语句:就是完成功能的代码块
    return:结束方法
    返回值:就是执行完功能的结果,由return带回给调用者。
  (3)两个明确:每个方法都应该明确需要的参数和返回值的结果
    返回值类型:结果的数据类型,结果是什么类型,就使用何种类型接受返回值
    参数列表:参数的个数及对应的数据类型,需要什么类型的参数,就传递何种参数
  (4)方法调用
    A:有明确返回值的方法
      a:单独调用,没有意义
      b:赋值调用,推荐方案
    B:void类型修饰的方法
      a:单独调用
  (5)方法的注意事项
    A:方法不调用不执行
    B:方法之间是平级关系,不能嵌套定义,但可以嵌套使用
      举例:main方法中可以调用其他方法,但是不能定义方法
    C:方法定义的时候,参数是用 , 隔开的
    D:方法在调用的时候,不用在传递数据类型,直接传输指定的变量
    E:如果方法有明确的返回值类型,就必须有return语句返回,而且是肯定能够执行的return语句。
  (6)方法重载
    在同一个类中,方法名相同,参数列表不同。与返回值无关。
    参数列表不同:
      参数的个数不同。
      参数的对应的数据类型不同。

 int sum( int a, int b){
return a + b; //返回两个整数的和
} String sum(String a, int b){
return a + b; //返回字符串和整数的连接,其结果仍为一个字符串
}

  (7)递归方法
    概念:递归是一种比较特殊的方法,它是指在方法的定义中调用了本身的现象
    应用:可以使用递归解决的问题,都是有一个非常明显的规律。
    注意事项:
      1.递归必须要有出口,否则就是一个死递归
      2.递归的层次不能过多,否则就有可能会造成内存溢出的异常
      3.递归用的最多的还是在树的遍历中,比如遍历文件的所有目录

 /* 举例:数的阶乘  */
public int factorial (int maxNum){
if(maxNum == 1){
return 1; //递归的出口
} else {
return maxNum*factorial(maxNum-1); //规律
}
}

Java基础系列--03_Java中的方法描述的更多相关文章

  1. Java基础:HashMap中putAll方法的疑惑

    最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public v ...

  2. Java基础系列(29)- 方法的重载

    方法的重载 重载就是在一个类中,有相同的函数名称,但形参不同的函数 方法重载的规则: 方法名称必须相同 参数列表必须不同(个数不同.或类型不同.参数排列顺序不同等) 方法的返回类型可以相同也可以不相同 ...

  3. Java基础系列(28)- 方法的定义和调用

    方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名(参数类型 参数名){ -- 方法体 -- retu ...

  4. 夯实Java基础系列10:深入理解Java中的异常体系

    目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...

  5. Java基础系列-equals方法和hashCode方法

    原创文章,转载请标注出处:<Java基础系列-equals方法和hashCode方法> 概述         equals方法和hashCode方法都是有Object类定义的. publi ...

  6. 夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理

    目录 final使用 final变量 final修饰基本数据类型变量和引用 final类 final关键字的知识点 final关键字的最佳实践 final的用法 关于空白final final内存分配 ...

  7. 夯实Java基础系列11:深入理解Java中的回调机制

    目录 模块间的调用 多线程中的"回调" Java回调机制实战 实例一 : 同步调用 实例二:由浅入深 实例三:Tom做题 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 ...

  8. 夯实Java基础系列13:深入理解Java中的泛型

    目录 泛型概述 一个栗子 特性 泛型的使用方式 泛型类 泛型接口 泛型通配符 泛型方法 泛型方法的基本用法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型方法总结 泛型上下边界 泛型常见面试 ...

  9. Java基础系列--static关键字

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...

随机推荐

  1. 粮草先行——Android折叠屏开发技术点番外篇之运行时变更处理原则

    上一篇文章中,我们有提到Activity在屏幕尺寸发生变更时的处理方式,总共有两种: 重启APP以适应屏幕改变: 手动处理数据,避免APP重启. 同样,这两种方式也同时适用于改变屏幕方向.更改系统语言 ...

  2. python+selenium 自动化测试实战

    一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...

  3. 解决 mac 10.14.4 无法 sublime text 3207 安装 Package Control,以及安装第三方包报错 `Package Control There are no packages available for installation`

    下载最新的 sublime text 3207,无法安装 Package Control. 根据官方提示,手动安装 Package Control. 手动安装 Package Control 后,无法 ...

  4. Storm入门(十二)Twitter Storm: DRPC简介

    作者: xumingming | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://xumingming.sinaapp.com/756/twitter-stor ...

  5. spring的核心组件及作用(一)

    Spring的核心组件有: Context     Core     Bean. 如果要在这三个核心组件上挑出一个最核心的组件,那就是Bean组件了. Spring的特性功能有:WEB ORM AOP ...

  6. Docker 导出&加载镜像

    文章首发自个人网站:https://www.exception.site/docker/docker-save-load-image 本文中,您将学习 Docker 如何导出&加载镜像.当我们 ...

  7. 阿里云免费购买SSL证书,nginx无缝升级https

    最近在升级交流学习社区,觉得有必要升级成https.以下是自己在升级中记录. 以下包括以下部分: 一.阿里云免费购买SSL证书 1.自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书 2.我 ...

  8. What?VS2019创建新项目居然没有.NET Core3.0的模板?Bug?

    今天是个值得欢喜的日子,因为VS2019在今天正式发布了.作为微软粉,我已经用了一段时间的VS2019 RC版本了.但是,今天有很多小伙伴在我的<ASP.NET Core 3.0 上的gRPC服 ...

  9. Navicat 导出sql问题

    楼主最近碰到一个问题: 使用Navicat建立数据模型的时候使用导出sql功能导出的sql脚本放在sqlserver中执行失败,表创建成功了,但是我在Navicat中写的表注释和字段注释都没有成功, ...

  10. c#文件图片操作

    系统特殊目录路径 //取得特殊文件夹的绝对路径 //桌面 Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //收藏夹 Env ...