数组
数组概述:是具有相同数据类型的数据的集合
数组的定义:数据类型 数组名 []
数组特点:
1,数组是引用数据类型。
2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个
3,数组长度是固定的,不能变化,数组长度通过数组的length属性访问
4,数组里面的元素是通过下标访问的,下标从0开始, 数组名[下标]
5,数组在内存中是一段连续的内存空间
定义数组的几种方法
第1种,直接给出数组的值 静态的
1 int [] number = {1,2,3,4,5,6,7,8,9};
第2种 静态的
1 int [] number = new int []{1,2,3,4,5,6,7,8,9};
第3种 动态的
1 int [] number = new int[20]; // 20是数组的长度,数组能存在多少个元素,每一个元素都有一个默认值 2 number[0] = 1 ; 3 number[1] = 4 ; 4 number[2] = 3 ;
数组的操作: 增 删 改 查
copy:将一个数组放入另一个数组中()
方法一
1 int [] array={1,3,4,5,8,6}; 2 int [] b = Arrays.copyOf(array, 5); 3 4 //array:被移动的数组 5 6 //5:新数组的长度,从旧数组下标为0开始截取,如果长度超过旧数组,其他值为数组定义类型的默认值
方法二
1 int array [] = { 1 ,3 ,4, 5, 8 ,6}; 2 int [] b = Arrays.copyOfRange(array, 2, 4); // [2,4) 3 //将旧数组中下标为2 包含2,到下标为4 不包含4 之间的内容放入新数组中,第二个参数不能超出旧数组下标,第三个参数如果超出,其值为数组定义类型的默认值
方法三
1 int array [] = { 1 ,3 ,4, 5, 8 ,6}; 2 int [] b = new int [20]; 3 System.arraycopy(array, 0, b, 0, array.length); 4 5 // array, 0:旧数组及其索引下标,下标不能超出array的范围 6 //b, 0:新数组及其索引下标,下标不能超出b的范围 7 //array.length:旧数组长度,不能超过array.length
二维数组 & 多维数组
二维:数组里面的每一个元素都是一个数组
静态的
1 int array [][] = {{1,2,23,4},{4,3,2},{2,5,6,3}}; 2 int array [][] = new int [][] {{1,2,23,4},{4,3,2},{2,5,6,3}};
动态的
1 int array [][] = new int [3][4]; 2 array[0] = new int [] {1,2,23,4}; 3 array[1] = new int [] {4,3,2}; 4 array[2] = new int [] {2,5,6,3}; 5 //动态创建时,int后的第一个括号必须初始化大小
多维:参考二维