#java中的传值传引用
程序操作的所有数据
--都需要放在内存中处理
内存是一个线性结构 -- 与数据类似
物理结构--有具体的物理映射地址
传值:
基本数据类型: 定长 0-9
int i = 10;
类型 变量[内存地址 10] 4个字节
属性默认:0长度还是4个字节
int i; 此时 i 的长度还是4个字节
引用类型:
String name = "ABC"; 6 byte
String name; 这个不确定长度的
String 最长长度 查阅源码--> 由数组长度决定 一个数组最长容量
默认:name = null(关键字);
name = null;
name = "ABC";
name 数据
存储的是数据的地址 内存空间中
String str1 = "ABC";
String str2;
str2= str1;// 传递的是ABC所在的内存地址
int i = 10;
int j;
j=i;//传递的是10值
public class Test {
public static void main(String[] args) {
String str = "ABC";
String str1 = "ABC";
String str2 = new String("ABC");
String str3 = new String("ABC");
if(str==str1) {
System.out.println("1true");
}
if(str2==str3) {
System.out.println("2true");
}
if(str2.equals(str)) {
System.out.println("3true");
}
}
}
如上代码,输出的结果就会是1true和3true