JavaSE基础之方法(Method)

Java方法

方法的定义

方法就是 一个带名字的能够解决特定问题的代码块 ,可以方便我们多次使用。

  1. main方法过于臃肿
  2. 重复执行的代码块 命名,方便重复使用
  3. 方便自上而下分解问题
  4. 方便维护代码

返回值: 方法执行后得到的结果

**参数:**执行方法时需要的原材料

//声明一个方法
public static void method1(){
    System.out.print("Hello Method...")
}

图片来源:https://www.runoob.com/java/java-methods.html

JavaSE基础之方法(Method)_第1张图片

上图的方法包含2个参数num1 和 num2,返回结果是2个参数的最大值:

更简便的写法(三目运算符)

public static int maxTest(int num1,int num2){
    return num1 > num2 ? num1 :num2;
}

下面对上图中方法的所有部分进行分解阐述:

方法 :    
    解决事情问题办法    
    实现功能需求的代码段
作用好处 :
    提高代码的复用性
    提高程序的安全性
注意 :
    位置 : 方法定义在类中方法外,方法不能嵌套
    不调用不执行
语法 :
	有返回值类型的方法
            修饰符 返回值类型 方法名(参数列表){
                实现功能的代码段;
                return 返回值;
            }
     	说明 :
          访问权限修饰符 : 现在先定义public static,后续可以根据需求修改
          方法的返回值 :分析方法执行完毕之后是否需要得到一个结果|,如果需要 定义为有返回值类型的方						法,如果不需要定义为没有返回值类型的方法
          返回值类型 : 定义为返回的结果的数据类型可以为任意数据类型
          方法名 : 标识符,严格遵守标识符的命名规则与规范
                   调用方法时,根据方法名进行调用
           参数 :分析定义方法时,不确定的,未知的数据,有可能会改变的数据,定义在方法的参数列表上
                    参数列表可以不定义参数,可以定义多个参数
                    格式 : 数据类型 参数名1,数据类型 参数名2,.....   -->数据类型可以为任意类型
                    相当于局部变量的声明,作用域为当前方法中
            方法体 : 实现具体功能的代码段
                    调用方法时,执行方法体中的代码实现功能
            return : 1)提前结束方法    2)同时带出返回值返回给方法的调用处
                        在有返回值类型的方法中必须存在return,必须带出返回值
      没有返回值类型的方法
方法的调用 :
        执行方法中的代码
        普通调用 : 方法名(参数列表);
        有返回值类型的方法可以使用以下两种方法 :
            赋值调用 : 数据类型 变量名 = 方法名(参数列表);
            输出调用 : System.out.println(方法名(参数列表));
定义方法前分析 :
        1.明确需求
        2.分析方法名 :见名知意
        3.返回值
        4.参数   

方法的调用

方法定义完成后,若要使用,必须调用它。即方法只有定义,不调用是不会执行的。

调用方法时,程序会"跳到"方法定义的地方执行整个方法的内容,方法执行结束后,立即回到调用方法处继续刚才中断的执行。也就是”从哪里来到哪里去”的套路。

说明

①如果该方法返回值类型为 void,则调用该方法必须是一个独立的语句,不能使用变量接收。

②如果该方法具有返回类型,返回一个值,调用该方法通常被视为一个值,可以使用变量接收,或直接打印返回的值。[接收变量=]方法名([实参列表])

返回值

方法执行后得到的结果,定义方法时需要在方法头部规定返回值类型,根据需求,如果存在返回值则规定好具体的类型(可以是基本类型,也可以是引用类型),如果不存在返回值,则使用关键字void指定。

如果方法头部规定了具体的返回值类型,则方法体中必须出现带值的return语句

如果方法头部使用void规定没有返回值,则方法体中可以不出现return语句,如果需要出现return ,其后也不能带任何的数据

return关键字

return关键字使用在方法体中,有两个作用。

  • 当方法规定有返回值时, return 用来结束方法,同时还需要送出结果。
  • 当方法规定没有返回值时,return 只是用来结束方法。

一个方法最多只能执行一条return语句

注意:在一个作用域内 return 之后不能再存在代码

不可达语句:一眼就能看出永远没有机会执行到的语句,程序自动检测这种语句,一旦检测到则报错

  1. 在一定会被执行的return语句后
  2. 在循环中无条件的break后写语句,会出现不可达语句
  3. 在死循环(没有break来结束的死循环)后的语句,while…false中的代码会出现不可达语句

内存分析(方法调用逻辑)

JavaSE基础之方法(Method)_第2张图片

1: CPU该负责调度程序执行以及处理运算逻辑;
2: 内存和磁盘最大的区别: 内存是无法持久化存储数据的,但是磁盘可以,磁盘的空间大、价格低,内存空间小,价格高;

3: JVM将物理内存进行了抽象, 抽象为一个个的存储空间,每个空间存储的数据不同,位置不同,这样的好处就是为了更好的服务java程序的执行以及程序员的编码实现;

4: CPU想要执行某个程序,只需要盯着JVM中划分的栈内存即可。

内存分析

JavaSE基础之方法(Method)_第3张图片

重载

java中允许方法定义时存在一种现象,在一个类中当方法完成的功能类似时,可以使用相同的名称,并且保证方法的参有所不同,可以参数的个数、类型、顺序任何一个不同即可。保证方法签名唯一。

此时可以省去很多为方法想名称的时间,亦是方便使用者调用。

重载的原因就是因为见名知意,导致我们编写代码过程中,出现大量的方法名称相同,处理过程相同,但是参数列表不同的方法。

重载需要满足以下条件

  1. 必须是同一个类
  2. 方法名必须相同
  3. 参数列表不同

简称两同三不同

注意:方法重载与返回值无关。

参数列表不同:

​ 参数的个数不同。

​ 参数的对应的数据类型不同。

​ 参数的顺序不同(不同类型的可以交换位置)

方法的意义

  • 提升了代码的复用性 ; --完成某个具体功能的代码,不能反复出现,如果出现了3次以上一定要编写方法,摘录出来。<不做重复功>
  • 方法之间是可以互相调用的,和你是否是主方法无关。
  • 写方法现阶段最核心的就是方法的参数列表和返回值。 一切看需求。

以交换位置)

方法的意义

  • 提升了代码的复用性 ; --完成某个具体功能的代码,不能反复出现,如果出现了3次以上一定要编写方法,摘录出来。<不做重复功>
  • 方法之间是可以互相调用的,和你是否是主方法无关。
  • 写方法现阶段最核心的就是方法的参数列表和返回值。 一切看需求。

你可能感兴趣的:(JAVA,java,jvm,算法)