当前位置: 首页 > news >正文

(程序设计语言)传值、传引用

1、传值(传递值)

在传值的情况下,函数接收到的是参数的一个副本,而不是参数本身。这意味着函数内部对参数的修改不会影响到原始值。传值通常用于基本数据类型(如整数、浮点数、布尔值等)的传递。

        基本数据类型的传递(按值传递)

public class PassByValueExample {
    public static void changeValue(int x) {
        x = 2;
    }

    public static void main(String[] args) {
        int value = 1;
        changeValue(value);
        System.out.println(value); // 输出 1,因为传值时修改的是副本,不影响原始值
    }
}

在这个例子中,changeValue 方法接收一个整数参数 x,但它接收的是 value 的副本,而不是 value 本身。因此,changeValue 方法内部对 x 的修改不会影响到 value 的值。 

2、传引用(传递引用)

在传引用的情况下,函数接收到的是参数的引用,即参数的地址或指针,而不是参数的副本。这意味着函数内部对参数的修改会影响到原始值。传引用通常用于复合数据类型(如列表、字典、对象等)的传递。

         引用类型的传递(按值传递引用)

import java.util.ArrayList;

public class PassByReferenceExample {
    public static void changeList(ArrayList<Integer> list) {
        list.add(3);
    }

    public static void main(String[] args) {
        ArrayList<Integer> myList = new ArrayList<>();
        myList.add(1);
        myList.add(2);
        changeList(myList);
        System.out.println(myList); // 输出 [1, 2, 3],因为传引用时修改的是原始值
    }
}

 在不同的编程语言中,传值和传引用的实现方式可能有所不同。一些语言可能在传递大型对象时使用传引用,以避免复制大量数据,而其他语言可能始终使用传值或者提供了显式的语法来选择传值或传引用。对于理解函数调用中参数的行为,了解这两种传递方式是非常重要的。

http://www.lryc.cn/news/350042.html

相关文章:

  • 一次基类类型对象无法被传递问题的分析
  • windows设置Redis服务后台自启动
  • 掌握Linux常用命令,扫平面试需求障碍
  • c语言之文件打开模式
  • 与禹老师学前端vue3学习汇总
  • Linux网络编程——HTTP协议的理解与运用
  • RestTemplate接口请求发送json、form数据格式以及处理接口错误状态码400 null
  • 《Python编程从入门到实践》day29
  • UIKit之图片浏览器
  • 如何查看SNMP设备的OID
  • 什么?你设计接口什么都不考虑?
  • 2024年3月 青少年等级考试机器人理论真题二级
  • C语言学习【printf函数和scanf函数】
  • shell正则表达式
  • react组件渲染性能优化之函数组件-useCallback使用
  • 【C++】:string类的基本使用
  • 多线程的代码案例
  • 什么是Java中的设计模式?请列举几种常见的设计模式
  • 绘制奇迹:Processing中的动态图形与动画
  • Django视图Views
  • 国内智能搜索工具实战教程
  • WebSocket or SSE?即时通讯的应用策略【送源码】
  • QT实现Home框架的两种方式
  • 机器学习笔记03
  • 【全面介绍下Spring】
  • MYSQL-存储引擎
  • 红蓝对抗 网络安全 网络安全红蓝对抗演练
  • springboot 序列化和反序列化
  • 德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第一周) - 自然语言处理介绍和线性分类
  • SQL注入漏洞常用绕过方法