java中的值传递和引用传递
1、值传递和引用传递的区别
- 传递过程中传递的是值还是引用
- 传递过程中是否存在副本拷贝
- 值传递在方法内部的修改不影响原始入参,引用类型则会同步修改
2、java中的基本数据类型
2.1、基本数据类型
4整型 + 2浮点型 + 1char型 + 1Boolean型,基本数据类型是值传递
byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有true和false两个取值。
char:16位,存储Unicode码,用单引号赋值。
3、对象传值
- 方法内部对对象进行复制,同步影响原始对象
- 方法内部进行了new操作,修改了对象的引用,是复制了原对象,不影响原始的对象
4、结论
- Java中只有值传递
- 传值类型一共有三种:共享对象传递、值传递、引用传递。(共享对象传递是值传递的特例)
- 共享对象传递改引用则复制
正文到此结束