数组
1、创建数组
静态初始化(已经知道数组中的具体内容)
方式一(标准格式):
int []arr=new int[]{1,2,3};
String[]arr1=new String[]{"hello","wordl","java"}
方式二(省略格式)
int []arr={1,2,3};
String[]arr1={"hello","wordl","java"}
2、动态初始化(事先不知道数组具体内容)
等号右边的中括号中必须指定数组长度
int []arr=new int[12];
String arr1=new String[13];
3、两个引用指向同一个数组内存区
int []arr=new int[]{1,2};
System.out.println("修改前===============");
System.out.println(arr[0]);
System.out.println(arr[1]);
int []arr1=arr;
arr1[0]=10; //修改arr1
arr1[1]=20; //修改arr1
System.out.println("修改后===============");
System.out.println(arr[0]);
System.out.println(arr[1]);
}
修改前打印的是 1,2
修改后打印的是10,20;
说明arr和arr1指向同一个内存空间
4、获取数组长度
int []arr=new int[]{1,2};
int len=arr.length;
java中的内存划分
1、栈(stack):存放的都是方法中的局部变量,方法的运行一定要在栈中。
2、堆(heap):凡是new出来的东西,都在堆中。堆中存放的东西都有一个地址值:16进制的。堆内存放的数据都有默认值。
3、方法区(Method Area):存储.class文件相关信息,包含方法的信息。
4、本地方法栈(Native Method Area):与操作系统相关
5、寄存器(pc Register):与CPU相关。