1.数组:
(1)本身属于引用数据类型,可以作为集合的元素;
(2)一旦被创建,长度就固定,既可以存储基本数据类型,也可以存储引用数据类型
(3)存储同一种数据类型多个元素的集合。也可以看成是一个容器。
1.1.数组的定义格式:(2种)
格式1:数据类型[] 数组名;int[] a:定义一个int类型的数组a变量。(推荐)
格式2:数据类型 数组名[];int a[]:定义一个int类型的a数组变量。
注:这两种定义做完了,数组中是没有元素值的,是一个null数组
1.2.数组的初始化:(2种)
**要使用数组,必须先初始化!!!**
所谓初始化:就是为数组中数组元素分配内存空间,并为每个数组元素赋值
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值;
1.2.1.动态初始化:数据类型[] 数组名=new 数据类型[数组长度]
int[] c = new int[3];//长度3,索引范围:[0,2]
c[0]=10;
c[1]=20;
c [2]=30;
**静态初始化:初始化时指定每个数据元素的初始值,由系统决定数组长度。(推荐使用)**
1.2.2. 静态初始化:数据类型[] 数组名={数组元素}
int c[] = {10,20,30};//长度:3,索引范围:[0,3]
1.3.数组内存分配(2种)
主要使用的是栈内存和堆内存。
1.3.1.栈内存特点:
脱离了变量的作用域后数据用完就会释放掉
1.3.1.1.栈内存存储局部变量(在方法中定义或方法中声明的变量),变量的引用地址(系统随机分配)
1.3.1.2.int[] c 存放在了栈中,地址值为0x001,指向堆中的实例
1.3.2.堆内存特点:
堆内存存储new出来的东西,使用完毕后就变成了垃圾,但是并没有立即回收。
引用扩展:局部变量,成员变量,全局变量,静态变量
1.1.成员变量:变量定义在类中方法外 ,存储在堆内存中
1.1.1成员变量分为:
1.1.1.1.静态属性:随类的存在而存在,是在类加载的初始化
1.1.1.2.非静态属性:随实例的属性存在而存在。
1.2.局部变量:变量定义在方法中,存储在栈内存中
1.2.1.局部变量不能加static,包括protected, private, public这些也不能加
1.2.2.局部编程必须在声明时初始化。
1.3.静态变量:变量定义在类中方法外,用static修饰,存储在于方法区即静态区
1.4.全局变量:全局变量也称成员变量定义在类中方法外,用static final修饰,是创建对象的时候分配内存的
成员变量和局部变量区别:
1. 成员变量可以不显式初始化,它们可以由系统设定默认值 ;局部变量没有默认值,所以必须设定初始赋值。
2.成员变量存在于堆内存,局部变量存在于栈内存。
注:方法(包括静态方法)中不能有静态变量,方法中存在的是局部变量,而不是静态变量。
静态变量是定义在类中,方法体外面的!!!
明天总结集合(List,Set,Map)部分,今天总结如有问题,望大神指正!