Java-参数传值

简介: Java-参数传值

Java-参数传值

在 Java 中,参数传递有两种方式:值传递和引用传递。

 

值传递是指将参数的值复制一份传递给方法。在方法内部对参数进行的操作不会影响原始变量的值。例如:

 

在上面的示例中, changeValue 方法接收一个整数参数 num ,并将其赋值为 20。但是,这不会改变 main 方法中 num1 的值,因为参数的值是复制传递的。

 

引用传递是指将参数的引用(地址)传递给方法。在方法内部对参数进行的操作会影响原始变量的值。这适用于对象类型的参数。例如:

image.png

在上面的示例中, changeReference 方法接收一个字符串参数 str ,并将其赋值为"World"。这会改变 main 方法中 str1 的值,因为参数是引用传递的。

 

需要注意的是,基本数据类型(如整数、浮点数、布尔值等)使用值传递,而对象类型(如字符串、数组、类实例等)使用引用传递。

 

可变参数

可变参数是指在函数调用时,可以传入任意数量的参数,而不需要在函数定义时指定具体的参数数量。在 Java 中,可变参数的语法使用三个点 ... 表示,它必须是方法参数列表的最后一个参数,且一个方法只能有一个可变参数。

 

不同的编程语言对可变参数函数的支持有很大差异。例如,计算数字串的总和、字符串的联接或其他操作过程,都可以存在任意数量的参数,因此需要使用可变参数函数来实现。另外,可变参数函数在某些语言中存在安全问题,需要在设计和使用时特别注意。

在 Java 5中提供了变长参数,允许在调用方法时传入不定长度的参数。下面为你提供一个使用可变参数的代码示例:

image.png

上述代码定义了一个名为 VarParameterExercise 的类,其中包含一个名为 showScore 的方法,该方法接受一个字符串参数和一个可变参数 double... scores 。在 showScore 方法中,首先初始化一个变量 res 用于存储求和结果,然后通过 for-each 循环遍历可变参数数组 scores ,将每个元素累加到 res 中。最后,返回包含姓名和总分的字符串。

目录
相关文章
|
1月前
|
Java
【Java每日一题】— —第二十二题:类名作参数进行方法调用的传递问题。
【Java每日一题】— —第二十二题:类名作参数进行方法调用的传递问题。
26 1
|
1月前
|
存储 Java fastjson
Java泛型-4(类型擦除后如何获取泛型参数)
Java泛型-4(类型擦除后如何获取泛型参数)
33 1
|
30天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
82 0
|
4天前
|
存储 Java 测试技术
一文搞清楚Java中的方法、常量、变量、参数
在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:**常量与变量**,我们在数学和物理学中已经接触过变量的概念了,在Java中的变量就是在程序运行过程中可以改变其值的量。
14 0
|
16天前
|
存储 监控 安全
泛型魔法:解码Java中的类型参数
泛型魔法:解码Java中的类型参数
34 0
泛型魔法:解码Java中的类型参数
|
1月前
|
前端开发 Java Spring
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
|
2月前
|
NoSQL Java Redis
【Java专题_09】生产环境Jvm参数设置
【Java专题_09】生产环境Jvm参数设置
|
2月前
|
Java
深入了解 Java 方法和参数的使用方法
方法是一块仅在调用时运行的代码。您可以将数据(称为参数)传递到方法中。方法用于执行特定的操作,它们也被称为函数。
105 4
|
4月前
|
Java
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
54 0
|
Java
Java中方法的参数传递机制
Java中方法的参数传递机制
98 0
Java中方法的参数传递机制