Java基础系列–03_Java中的方法描述

Java的方法(函数)的描述

方法
(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)方法重载
在同一个类中,方法名相同,参数列表不同。与返回值无关。
参数列表不同:
参数的个数不同。
参数的对应的数据类型不同。

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

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

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

Original: https://www.cnblogs.com/zhenjungan/p/10570808.html
Author: zhenjungan
Title: Java基础系列–03_Java中的方法描述

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581902/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • protobuf 的交叉编译使用(C++)

    为了提高通信效率,可以采用 protobuf 替代 XML 和 Json 数据交互格式,protobuf 相对来说数据量小,在进程间通信或者设备之间通信能够提高通信速率。下面介绍 …

    Linux 2023年6月7日
    0148
  • RestFul风格

    概念:Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格 设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 功能资源:互联网所有的…

    Linux 2023年6月14日
    097
  • Centos下使用containerd管理容器:5分钟从docker转型到containerd

    一.系统环境 二.前言 三.containerd 四.部署containerd 4.1 安装containerd 4.2 containerd配置文件 4.3 配置containe…

    Linux 2023年6月7日
    0168
  • 添加SSH服务

    1、基于commit命令创建 1.1 启动容器 [root@master ~]# docker run -it ubuntu:18.04 bash #更&am…

    Linux 2023年6月13日
    0102
  • 使用input+datalist简单实现实时匹配的可编辑下拉列表-并解决选定后浏览器默认只显示value的可读性问题

    问题背景 最近小伙伴提了一个希望提高后台下拉列表可操作性的需求,原因是下拉列表选项过多,每次下拉选择比较费时费力且容易出错,硬着头皮啃了啃前端知识,网上搜寻了一些下拉列表实现的资料…

    Linux 2023年6月6日
    096
  • 高速USB转8串口产品设计-RS232串口

    基于480Mbps 高速USB转8路串口芯片CH348,可以为各类主机扩展出8个独立的串口。使用厂商提供的VCP串口驱动程序,可支持Windows、Linux、Android、ma…

    Linux 2023年6月7日
    098
  • NO.6 HTML+CSS 笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0104
  • nginx源码编译安装(详解)

    nginx编译安装 编译安装大致步骤: 安装步骤: 官网下载合适的版本,建议选择稳定版本。 官网地址:https://nginx.org wget https://nginx.or…

    Linux 2023年5月27日
    0151
  • 【Leetcode】64. 最小路径和

    给定一个包含非负整数的 m x n网格 grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动…

    Linux 2023年6月6日
    0104
  • Docker如何镜像加速

    原文链接:https://www.zhoubotong.site/post/69.html在使用Docker 下载镜像时,如果不配置镜像加速,下载镜像会比较慢,因为国内从 Dock…

    Linux 2023年6月6日
    0144
  • 【建议收藏】你知道数据库是怎么运行的吗?

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    083
  • Windows server 2012 安装exchange 2013

    一、实验环境 操作系统:Windows server 2012 R2 邮件系统版本:exchange 2013 安装的服务:AD CS、AD DS、IIS、DNS 二、安装exch…

    Linux 2023年6月7日
    0114
  • Java基础封装类型的缓存

    Java笔试常见题型 类型 缓存范围 Byte -128-127 Short -128-127 Integer -128-127 Long -128-127 Character 0…

    Linux 2023年6月7日
    0113
  • 常用命-sar

    作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/14725402.html本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月6日
    089
  • QLabel图片自适应

    故事背景:由于要做终端定制的需求,在服务端上传一张128像素的图片,下发给客户端,适配所有图标(界面左上角、任务栏、快捷方式、托盘等),但是由于每个位置的图标大小不一样,代码要根据…

    Linux 2023年6月13日
    089
  • SQLI-LABS(Less-5)

    Less-5(GET-Double injection-Single Quotes-String) 打开 Less-5页面,可以看到页面中间有一句 Please input the…

    Linux 2023年6月6日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球