简单分析Java的求值策略原理

作者:Ermiao 时间:2022-03-22 19:14:00 

形参和实参

java在定义方法时可以设置参数,参数分为形参和实参,形参是指在定义函数时用于接收外部传入数据的参数,而实参是指在调用方法时主调函数向被调函数传递的数据参数。
例如:


public class Main {
   public static void main(String[] args) {
       int a = 2;
       int b = 3;
       System.out.println(sum(a,b));//5
   }
   private static int sum(int i1,int i2){
       return i1+i2;
   }
}

其中,a,b是传入sum方法的数据为实参,i1,i2是定义方法时接收数据的参数为形参。

求值策略

实参在向形参传递值的时候有多种方法,即求值策略。求值策略分为严格求值、非严格求值和非确定求值。
其中严格求值内包含我们常见的值传递(传值)、引用传递(传引用)和地址传递(传址)。

传值:将实参的值复制副本后传给形参

简单分析Java的求值策略原理 

传引用:将实参的引用直接传给形参

简单分析Java的求值策略原理 

传址:将实参的引用复制副本后传给形参

简单分析Java的求值策略原理 

Java的求值策略

地址传递可以看成值传递的一种特殊情况,java的基础类型传值为值传递,引用类型的传值是地址传递,因此可以说java中的求值策略为传值

来源:https://www.cnblogs.com/ermiao-zy/p/14852590.html

标签:Java,求值策略
0
投稿

猜你喜欢

  • 详解JAVA 弱引用

    2022-03-12 01:30:29
  • java实现多个文件压缩成压缩包

    2022-12-06 17:45:54
  • C#实现策略模式

    2022-02-09 17:19:01
  • 关于JAVA11中图片与BASE64相互转换的实现

    2022-12-06 06:44:11
  • Spring AOP实现打印HTTP接口出入参日志

    2021-10-09 13:38:37
  • SpringMVC中事务是否可以加在Controller层的问题

    2021-12-09 01:20:15
  • Java自动添加重写的toString方法详解

    2021-11-05 14:29:13
  • SprintBoot深入浅出讲解场景启动器Starter

    2023-11-24 20:58:58
  • java实现163邮箱发送邮件到qq邮箱成功案例

    2023-09-18 02:38:09
  • java struts2学习笔记之线程安全

    2022-08-07 00:13:07
  • SpringDataElasticsearch与SpEL表达式实现ES动态索引

    2021-11-27 01:33:03
  • C#复制数组的两种方式及效率比较

    2023-07-15 04:19:12
  • springboot常用注释的讲解

    2023-11-03 02:53:15
  • IDEA解决src和resource下创建多级目录的操作

    2023-03-24 07:05:37
  • Java Ehcache缓存框架入门级使用实例

    2022-08-23 20:51:54
  • Java中的双重检查(Double-Check)详解

    2023-02-23 21:05:23
  • SpringMvc+Mybatis+Pagehelper分页详解

    2021-08-13 14:15:11
  • .NET创建、删除、复制文件夹及其子文件的实例方法

    2022-12-29 06:32:45
  • JAVA过滤标签实现将html内容转换为文本的方法示例

    2022-10-16 21:02:40
  • C# wpf 通过HwndHost渲染视频的实现方法

    2023-08-30 03:33:35
  • asp之家 软件编程 m.aspxhome.com