Day19
数组
三种初始化及内存分析
java内存分析:
堆:存放new的对象和数组,可以被所有线程共享,不会存放别的对象引用
栈:存放基本变量类型,引用对象的变量(会存放这个引用在堆里面的具体地址)
方法区:可以被所有的线程共享、包含了所有的class和static变量
package com.wuxin.array;
public class ArrayDemo01 {
//变量的类型 变量的名字 =变量的值;
public static void main(String[] args) {
int[] nums; //声明一个数组
//int nums2[]; //不推荐使用
nums = new int[10]; //创建一个数组
//3。给数组元素中赋值
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
nums[9] = 10;
System.out.println(nums[10]);
}
}
数组下表越界:
ArrayIndexOutOfBoundsException
数组的三种初始化状态
静态初始化
int[] a = {
1,2,3};
动态初始化
int[] a = new int[2];
a[0] = 1;
a[1] = 2;
数组默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
package com.wuxin.array;
public class ArrayDemo02 {
public static void main(String[] args) {
//静态初始化:创建+赋值
int[] a = {
1,2,3,4,5,6,7,8};
System.out.println(a[0]);
//动态初始化:包含默认初始化
int[] b = new int[10];
b[0] = 10;
System.