java中类型的两种传值方式,按址传递和按值传递
来源:互联网 发布:mysql grouping 编辑:程序博客网 时间:2024/05/28 01:34
执行程序后,输出结果是:10 123。为什么通过方法调用,为什么变量 m 的值未改变,而 a[0] 的值发生了改变呢?
在参数传递时,一般存在参数传递的规则,JAVA 语言中也是这样,这两种方式是:
1 按值传递(by value)
按值传递指每次传递参数时,把参数的原始数值拷贝一份新的,把新拷贝出来的数值传递到方法内部,在方法内部修改参数时,则修改的是拷贝出来的值,而原始的值不发生改变。
1.说明:使用该方式传递的参数,参数原始的值不发生改变,
2.若要修改按值传递的值:通过把修改以后的参数值返回,来为变量赋值,强制修改按值传递参数的值,从而达到修正参数值得目的。(就不写示例代码了)
2 按址传递(by address)
按址传递指每次传递参数时,把参数在内存中的存储地址传递到方法内部,在方法内部通过存储地址改变对应存储区域的内容。由于在内存中固定地址的值只有一个,所以当方法内部修改了参数的值以后,参数原始的值发生改变。
1.说明:使用该方式传递的参数,在方法内部修改参数的值时,参数原始的值也发生改变。
2.若要避免修改按址传递的值:通过重新生成变量避免修改参数的值
例如上面的代码,可以通过在方法内部重新创建一个数组,并且把传入数组中每个参数的值都赋值给新创建的数组,从而实现复制数组内容,然后再修改复制后数组中的值,原来的参数内容就不发生改变了。(就不写示例代码了)
####按值传递的数据类型:8种基本数据类型和String
####按址传递的数据类型:除String以外的所有复合数据类型,包括数组 类 和接口
阅读全文
0 0
- java中类型的两种传值方式,按址传递和按值传递
- 详解java中给方法传递参数的两种方式:按值传递,引用传递
- JAVA中参数传递(按值传递和引用传递)
- Java:理解Java中函数参数传递的【按值传递】和【按引用传递】
- 关于JAVA中参数传递问题的总结(按值传递和引用传递)
- JAVA中参数传递问题的总结(按值传递和引用传递)
- java方法参数传递方式--按值传递、引用传递
- java中参数的传递方式【值传递】
- Java按值传递和引用传递
- Java中基本类型和引用类型的传递
- Java的按值传递和引用传递
- java中的按值传递和按址传递
- java中基本类型的参数传递和引用类型的参数传递
- java值传递的两种方式:值传递和引用传递
- 值传递和引用传递,java到底按什么传递的
- 按值传递和按址传递
- Java中,String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?
- java的存储空间和按值传递
- IDEA 提示jar包问题
- 【POJ3683】Priest John's Busiest Day
- redis入门学习总结
- 剑指offer-字符串的排列
- PyCharm学习笔记及Python基础语法总结
- java中类型的两种传值方式,按址传递和按值传递
- ajax实现分页,多条件查询步骤(基于nodejs)
- VMWare虚拟机Bridged类型网卡ping不通的原因和解决办法
- iPhone中无法播放视频--avplayer视频框架
- PS技巧一-----镜头光晕
- uva 11389 贪心
- Tablayout
- yolov2 笔记
- NaN、isNaN、判断输入值是不是数字、字符串