java怎么进行值传递和数组传递
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,本篇内容介绍了"java怎么进行值传递和数组传递"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!pub
千家信息网最后更新 2025年02月11日java怎么进行值传递和数组传递
本篇内容介绍了"java怎么进行值传递和数组传递"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
public class Test { String str = new String("good"); char[] ch = {'a','b','c'}; int i = 10; public void change(String str,char[] ch,int i){ str = "test ok"; //=new String("test ok") ch[0] = 'g'; i++; } public static void main(String[] args){ Test tt = new Test(); System.out.println(tt.i); System.out.println(tt.str); System.out.println(tt.ch); System.out.println("------------"); tt.change(tt.str,tt.ch,tt.i); System.out.println(tt.i); System.out.println(tt.str); System.out.println(tt.ch); }}10goodabc------------10goodgbc #此处a->g
str是String类型的引用;i是基本类型变量;ch是数组名,也是数组对象的引用
在change()方法里,str="test ok",是一个新的对象把首地址放在引用变量str上;而ch[0]='g';因为传的是数组的引用,而此时ch[0]='g';是对数组元素的操作,能修改源数组的内容;
i是整型值,只是把值copy了一份给方法,在方法的变化是不改变的源i的。
如果将单个基本类型数组的元素传递给方法,并在方法中对 其进行修改,则在被调用方法结束执行时,该元素中存储的并不是修改后的值,因为这种元素是按值传递,如果传递的是数组的引用,则对数组元素的后续修改可以 在原始数组中反映出来
package com.lifeibigdata.algorithms.blog;/** * Created by lifei on 16/6/22. */public class Test { String str = new String("good"); char[] ch = {'a','b','c'}; int i = 10; public void change(String str,char ch,int i){ //change()方法里的入参char[] ch变成--------------char ch str = "test ok"; ch = 'g'; this.i = i+1; //this.i = i+1;这里面等号左边的i是属性i,等号右边的i是局部变量(入参里的i) } public static void main(String[] args){ Test tt = new Test(); System.out.println(tt.i); System.out.println(tt.str); System.out.println(tt.ch); System.out.println("------------"); tt.change(tt.str,tt.ch[0],tt.i); //这次传递的是个char值的单个数组元素,按照上面的解析 System.out.println(tt.i); System.out.println(tt.str); System.out.println(tt.ch); }}10goodabc------------11goodabc
在Java中对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数;这时对象和参数中指向是同一个地址,数据共同变化,如果在这个过程中,如果改变了参数中保存的地址,那么对象和参数不再指向同一个地址,如果此时改变参数中地址指向的值,那么对象中的参数将不会改变
"java怎么进行值传递和数组传递"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
数组
参数
对象
方法
元素
地址
内容
变量
指向
类型
单个
更多
知识
等号
过程
变化
原始
实用
学有所成
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苹果邮件服务器
服务器的折旧怎么分摊到成本
数据库job定时任务
后台密码忘了怎么更改数据库
网络技术专业具备的知识
网络安全工具收纳小包
网络安全工程师的性格
联机服务器管理指令集
vue使用的服务器
网络安全站上风口
武山县网络安全法
家教管理系统数据库原则
网络安全原创周知识竞赛
北京租云服务器虚拟主机
服务器未登录能关机吗
对单位网络安全工作的建议
华为软件开发云服务套餐包
进化服务器
客户怎样找华为做软件开发
网络安全技术的发展前景
数据通信网络技术考试
学软件开发类工资待遇
百度是科技公司还是互联网公司
服务器容量达到最大会发生什么
域名反查服务器
襄阳嵌入式软件开发人才招聘
计算机考试网络技术好考吗
网络安全刑法案例
客户怎样找华为做软件开发
个性化网络安全命令