ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA的方法

2021-07-21 20:30:03  阅读:127  来源: 互联网

标签:语句 调用 return 递归 返回值 JAVA 方法


一、什么是方法?

       Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段。其实就是一个命名的语句块

二、为什么要声明方法

  1. 把复用的逻辑抽取出来,封装成方法,提高代码的重用性。

  2. 实现相对独立、复杂的逻辑,提高代码的可读性、可维护性。

  3. 可以对具体实现进行隐藏/封装。

三、 方法的定义

 注意:一个完整的方法包含声名部分和实现部分。

  1. 声名部分:必需的元素包括方法的返回类型、方法名、一对括号()

          修饰符:访问控制符(public、protected、包、private)、static、final、default

          返回类型 :方法返回的值的数据类型,或者 void 方法不返回值。

          方法名称:标识符规则,首字母小写,特殊情况对应章节特殊说明

          参数列表 :以逗号分隔的输入参数列表,即使没有参数,也必须使用空括号。

          异常列表:方法可能抛出的异常,可使用逗号分隔多个异常类型

    2.实现部分:花括号必须有,内容可以为空

         各种语句都可出现,表达式语句、声明语句、流程控制语句

         如果有返回值,可以通过return返回,当然没有返回值也可以使用不带数据的return

四、JVM如何识别区分多个函数?

      方法签名:方法名和参数构成方法签名,方法签名用于区分函数。

五、方法的调用

  1. 实参的数量和类型必须和形参保持完全的一致,实现书写的顺序也必须和形参中的顺序保持 完全一致。

  2. 方法之间只能进行相互的调用,而不能在方法中声明方法,就目前而言声明的方法都和main 方法是并列的

  3. 定义方法的时候,运算的结果会返回给调用者【在哪个方法中调用,运算的结果返回给哪个 方法】

六、 方法的参数

     工作原理:调用方法的时候,用实参给形参进行赋值,这个过程被称为传参

     注意:形参就是一个变量,实参就是一个常量或者携带着值的变量,传参就是把实参赋值给形参。 传参时需要注意的事项:实参的数量和类型必须和形参的数量和类型保持一致【相兼容的数据类型】

七、方法的返回值

       方法包含了一个语句块,通过方法调用可以让其中的语句加入执行序列,如果某个方法的处理结果是 需要交给调用方的,则需要使用return语句返回方法处理结果给调用方。

       return的作用:终止方法的执行,如果有返回值,则返回返回值给调用方。

       return的说明:

1. return 可用在任何方法中,用来终止方法的执行

2. 如果方法的返回值为viod,则可以使用return,但是不能有返回值,如果有返回值则必须返 回类型兼容的返回值。

3. 有返回值得方法,必须在方法的所有执行路径上有return语句。

八、 方法重载

        方法重载的概念:

             如果一个类中有多个同名不同参的方法声明,则这几个方法构成了方法重载。只是一种特殊现象的叫 法,本质上是无关的多个方法。

    注意:

  1. 参数列表的不同包括,参数个数不同,参数数据类型不同,参数顺序不同

  2. 方法的重载与方法的修饰符和返回值没有任何关系

九、递归调用

       递归调用的概念:

              在一个方法的方法体内调用该方法本身,称为方法的递归。自己调用自己。

              方法递归包含了一种隐式的循环,会重复执行某段代码,但是这种重复不需要使用循环语句来进 行控制。

              出现问题: StackOverFlowError 栈空间溢出异常,所以递归不能一直运行,一定要有结束条件。

      递归算法的使用:

            1.正常思维无法解决问题时才采用递归算法 ,有些递归只需要一个循环就可以替代,而有些递归的 改写需要循环+栈,即要利用一定的辅助空间记录过程中的某些数据才可以。

           2.由于方法调用需要额外开辟内存空间来保存局部变量、形参、调用函数地址、返回值等,所以大多 时候递归比循环效率低。但是递归代码简洁、清晰

十、关键知识点

 

标签:语句,调用,return,递归,返回值,JAVA,方法
来源: https://blog.csdn.net/hougelaihuihui/article/details/118975272

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有