第三天
数组
1.概念
数组是一种存储数据的方式,即一种容器,数组里可以存放任意类型的数据,但定义好的数组只能装一种元素
2.定义
数组的声明与创建, 创建数组后不能修改数组的大小,长度用length属性获得
元素类型 [] 数组名 = new 元素类型[元素个数或数组长度]
元素类型 [] 数组名 = new 元素类型[]{元素,元素,…}
eg:
int[] arr =new int[5]
- 注意arr的类型是数组类型数据而不是int型,arr里的数组元素是int型
3.数组的初始化与下标
- NullPointerException 空指针异常 引用类型变量没有指向任何对象,而访问了对象的属性或者是调用了对象的方法。
public class array {
public static void main(String[] args){
int [] arr1 = new int [2];
int [] arr2 = new int[]{1,2,3};
int[] arr = {20,30,40};
arr1[0]=10;
System.out.print(arr1[0]);
}
}
4.数组分析
- 栈内存:栈内存存储的都是局部变量,变量一旦出了自己的作用域,那么就会马上从内存的消失,释放内存空间。
- 堆内存:堆内存存储的都是对象内存,对象一旦被使用完,并不会马上从内存中消失,而是等待垃圾回收器不定时的把垃圾对象回收,这时候该对象才会消失,释放内存。
- 凡是以new关键字创建的对象,JVM都会在堆内存中开辟一个新的空间,创建一个新的对象。
- 对象如果没有变量引用了,那么该对象就是一个垃圾对象了
5.二维数组
5.1创建
同一维数组一样,二维数组在声明时也没有分配内存空间,同样要使用关键字new来分配内存,然后才可以访问每个元素。?为二维数组分配内存有两种方式∶
int a[][];
a = new int[2][4];
int b[][];
b = new int[2][];
b[0] = new int[2];
b[1] = new int[2];
二维数组可以只声明行的长度
5.2赋值
两种定义直接赋值,一种单个赋值
public class TDarray {
public static void main(String[] args) {
int tdarr1[][] = { { 1,2,3 }, { 4,5,6 } };
int tdarr2[][] = new int[][] { {1,2,3 }, { 1,2,3 } };
int tdarr3[][] = new int[2][3];
tdarr3[0] = new int[] { 1,2,3 };
tdarr3[1][0] = 1;
tdarr3[1][1] = 2;
tdarr3[1][2] = 3;
}
}
6.3多维数组
int a[][][]... = new int[][][]...;
6.4不规则数组
java也支持多维不规则数组,声明与初始化与多维数组类似
6.5数组的基本操作
1.遍历
输出杨辉三角
数组长度用.length属性获得
2.填充与替换
数组定义初始化完成后可以通过导入java.until.array类的静态啊方法fill()对数组中的元素进行分配
Arrays.fill(arr,value) (int[] a ,int value)
a∶要进行元素分配的数组。 value∶要存储数组中所有元素的值。
|