值传递和引用传递
来源:互联网 发布:贝克汉姆 帅 知乎 编辑:程序博客网 时间:2024/06/09 09:05
在java中,值类型分为整型,字符型,浮点型,逻辑型
整型:byte(1个字节),short(2个字节),int(4个字节),long(8个字节)
字符型:char(2个字节)
浮点型:float(4个字节),double(8个字节)
逻辑型:bolean(1个字节)
在java中除了八大基本类型其余都是引用类型:
例如:数组,字符串,类,接口。
值传递:基本类型的赋值都属于值传递(数据存储在栈中,优点是读取速度快,但是存储量小)
引用传递:传递的都是引用,也就是在内存中的地址(引用存储在堆中,优点是存储量大,但是由于存的是地址,所以每次访问该引用都会通过栈去寻找该变量的内容,然后根据内容再去堆中找到实际存储的地址取得真实的值,所以读取速度较慢)。
public class Transmit {public static void main(String[] args) {int a = 20;int b = a;a = 10;System.out.println(b);int[] c = { 0, 1, 2, 3, 4 };int[] d = c;System.out.println(d[2]);c[2] = 5;System.out.println(d[2]);}}输出结果为:20,2,5。
由于值传递存的是a的值,所以a的改变并不会影响b。
而引用传递b存的是地址。当a的值在内存中变了,b的值也会跟着改变。
阅读全文
0 0
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 引用传递和值传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 引用传递和值传递
- 拓扑排序
- Linux关机时执行指定脚本(亲测有效)
- 关于antd form this.props.form.getFormValue(): undefined.的bug解决
- TCP协议--复位报文段
- BZOJ2257(Jsoi2009)[瓶子和燃料]--最大公因数(裴蜀定理)
- 值传递和引用传递
- Linux nginx+node+supervisor+mysql+redis 环境部署
- NYOJ 部分和问题(入门题)
- 镜像
- 大数据案例一详解
- matlab---之cat,size
- 实用的php增删改查库(包含图片操作)
- Monitor项目开发走过的路~定义启动展览页
- 手势识别--拖动,旋转,缩放