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

Java中的参数是值传递还是引用传递?

在java中, 参数传递只有值传递 ,不论是基本类型还是引用类型。

其中的区别在于:

  • 基本数据类型(如byte,short,int等):传递的参数是值的副本,即基本类型的数值本身。因此在方法中,对方法参数的任何修改都不会影响原始变量。
  • 引用数据类型(如对象引用):传递的参数是引用数据所在硬件内存地址的值。因此,在方法中能够通过修改对像内部的值–>改变函数外的原始引用数据的值。

可以看以下的代码帮助理解:


public class ParameterPassingExample {

    // 基本数据类型值传递示例方法
    public static void changePrimitive(int num) {
        num = 100; // 修改方法参数的值
        System.out.println("在 changePrimitive 方法中,num 的值为: " + num);
    }

    // 引用数据类型值传递示例方法
    public static void changeArray(int[] arr) {
        arr[0] = 100; // 修改数组第一个元素的值
        System.out.println("在 changeArray 方法中,数组第一个元素的值为: " + arr[0]);
    }

    public static void main(String[] args) {
        // 基本数据类型值传递测试
        int number = 10;
        System.out.println("调用 changePrimitive 方法前,number 的值为: " + number);
        changePrimitive(number);
        System.out.println("调用 changePrimitive 方法后,number 的值为: " + number);

        // 引用数据类型值传递测试
        int[] array = {1, 2, 3};
        System.out.println("调用 changeArray 方法前,数组第一个元素的值为: " + array[0]);
        changeArray(array);
        System.out.println("调用 changeArray 方法后,数组第一个元素的值为: " + array[0]);
    }
}
http://www.dtcms.com/a/123013.html

相关文章:

  • webpack配置导致浏览器自动刷新
  • Pytest+Allure+Excel接口自动化测试框架实战
  • 【Kafka基础】监控与维护:分区健康检查,确保数据高可用
  • 【C++算法】53.链表_重排链表
  • 数据可视化 —— 柱形图应用(大全)
  • 《Uniapp-Vue 3-TS 实战开发》构建HTTP请求拦截器
  • Windows 2016 如何关闭自动更新
  • HLSL Complex Shapes With For Loops
  • Linux启动端口,Windows 看是否通
  • 使用 Vue + PDF.js 构建在线 PDF 阅读器(支持目录与缩放)
  • Petalinux最简开发
  • (2)网络学习之堡垒机
  • 如何避免Python爬虫重复抓取相同页面?
  • 【数据结构】树状数组
  • RTT中断管理学习
  • 苹果电脑MAC系统安装
  • 【MySQL篇】mysqlpump和mysqldump参数区别总汇
  • 【C++游戏引擎开发】第11篇:GLFW、GLAD环境搭建与第一个三角形渲染
  • 09-Spring 与线程安全:IOC 与多线程下的坑与解法
  • 解锁Midjourney创作潜能:超详细提示词(Prompts)分类指南
  • 【42期获取股票数据API接口】如何用Python、Java等五种主流语言实例演示获取股票行情api接口之沪深指数最新分时BOLL数据及接口API说明文档
  • 三、使用Keil5新建STM32工程
  • 【学Rust写CAD】29 Alpha256结构体(alpha256.rs)
  • torch.meshgrid()
  • 【OCR】总结目前流行的主要的OCR工具
  • Jenkins安装流程
  • 联邦学习研读笔记
  • printf
  • 【NLP 面经 9、逐层分解Transformer】
  • 第十一章 Python语言-高阶技巧(终章)