1.数组类型
1.1 理解数组:数组也是一种数据类型,它本身是一种引用类型。
1.2定义数组:两种语法格式,推荐通常使用第一种格式。
type[] arrayName1;
type arrayName2[];
1.3数组的初始化:
a-静态初始化:初始化时由程序员显示指定每个数组元素的初始值,
由系统决定数组长度。
int[] a = {5, 6, 7, 9};
b-动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。
int[] b = new int[5];
1.4使用数组:最常用的用法就是访问数组元素,
包括对数组元素进行赋值和取出数组元素的值。
1.5 foreach循环:一种更加简洁的遍历数组和集合的方式。
int[] a = {3, 4, 6, 8};
for(int i : a) {
System.out.println(i);
}
2.深入数组
2.1内存中的数组:实际的数组对象被存储在堆内存中;
如果引用该对象的数组引用变量是一个局部变量,
那么它被储存在栈内存中。
2.2没有二维数组以及多维数组:二维数组是一个一维数组,
其数组元素是一个一维素组;三维数组也是一维数组,其数组元素是二维数组…
2.3 java对数组的支持:Arrays
equals–判断两数组相等
copyOf–复制数组元素
toString–输出数组元素
fill–为数组元素赋值
sort–对数组进行排序
public class project1 {
public static void main(String[] args) {
int[] a = {3, 4, 6, 8};
int[] a2 = {3, 4, 6, 8};
System.out.println("a数组和a2数组是否相等:"+ Arrays.equals(a,a2));
int[] b = Arrays.copyOf(a,6);
System.out.println("b数组的元素为:"+ Arrays.toString(b));
Arrays.fill(b,2,4,1);
System.out.println("b数组的元素为:"+ Arrays.toString(b));
Arrays.sort(b);
System.out.println("b数组的元素为:"+ Arrays.toString(b));
}
}
注:为了在程序中使用Arrays类,必须在程序开头导入import java.util.Arrays;、
2.4数组的4种拷贝方式:for;clone;System.arraycopy;Arrays.copyOf。
public class project1 {
public static void main(String[] args) {
int[] a = {3, 4, 6, 8, 10};
int[] a2 = {1, 5, 7, 9, 10};
int[] b = new int[5];
for (int i = 0; i < 5; i++) {
b[i] = a[i];
}
System.out.println("b数组的元素为:"+ Arrays.toString(b));
System.arraycopy(a2,2,a,0,3);
System.out.println("a数组的元素为:"+ Arrays.toString(a));
int[] c = a.clone();
System.out.println("c数组的元素为:"+ Arrays.toString(c));
int[] d = Arrays.copyOf(c,6);
System.out.println("d数组的元素为:"+ Arrays.toString(d));
}
}