在java中,数组也是对象,数组中的每个元素可以是任意类型,但一个数组中只能存放类型相同的元素。
1.int[] a; 2.int a[]; 注意:声明的数组类型变量是要指向对象的
1.数组对象的长度是指一个数组对象中可以存放多少个数据。每个数组对象在被创建的时候就要声明其长度,该长度一旦被确定就不可修改。 2.数组对象的创建格式 int[] a = new int[4];
1.数组对象也是java中的一种对象,所以存放在堆中,数组对象在堆中是一块连续的内存空间,每一小块都能保存一个我们需要保存的数据,数组的长度也就是一共有几个小块 2.数组对象的默认值 整型数组的默认值是0 浮点类型的数组的默认值是 0.0 布尔类型的数组的默认值是false 字符类型的数组的默认值是0 引用类型的数组的默认值是null 3.数组对象创建的特殊形式 int[] a = new int[]{1,3,5,7,9}; int[] a = {2,4,6,8}; int[] a; a = new int[]{1,2,3}; 4.数组对象的拷贝 上文提到过数组对象的长度一经确定不可更改,但是我们可以通过复制数组的内容来实现更改数组长度。在java.lang.System中有提供复制数组中元素的方法。 该方法的声明 public static void arraycopy( Object src, int srcPos, Object dest, int destPos, int length) 参数1,需要被复制的目标数组 参数2,从这个数组的那个一个位置开始复制 参数3,需要把数据复制到的另外的那一个新的数组对象 参数4,复制到新数组里面哪个位置(从这个位置开始算) 参数5,复制的目标数组的长度
public static void main(String[] args) { int[] a = new int[] {4,1,2,5,2,3}; int[] b = new int[a.length+3]; System.arraycopy(a, 0, b, 1, 3); System.out.println(Arrays.toString(b)); }输出结果为[0, 4, 1, 2, 0, 0, 0, 0, 0],这也论证了整型数组的默认值是0这个知识点。 5.数组的工具类java.util.Arrays Arrays类中有许多方法可以操作数组,但是想要使用这个类就必须导入这个类。 6.可变参数 public void test(int[] a){} 我们使用这个方法,那么就只能传入一个int[]类型的数组。 如果使用可变参数 public void test(int... a){} 那么传入的参数就多样化了, 比如 int[] a = {1,2,3,4}; t.test(a); t.test(); t.test(1,2,3,4,5,6,7); 可变参数前面可以加其他参数,但是后面不可以加其他参数,在方法内部我们使用可变参数的时候把它当做数组处理就可以了。
public class Main { public static void main(String[] args) { int[] a = new int[] {4,1,2,5,2,3}; test(a); test(1,2,3); } static void test(int... a) { System.out.println(Arrays.toString(a)); } }