Java中数组基础
数组可以存放多个同一类型的数据,数组也可以认为是一种数据类型,是引用类型。
数组的初始化
动态初始化:数据类型 数组名[] =new 数据类型[大小]
int a[]=new int[5];创建了一个数组,名字为a,可以存放五个数据,数据可以后面定义。可以发现当定义之后默认为int类型数组每个数默认为0,自己可以采用循环的方式对其进行重新定义。
1 2 3 4 5 6 7 8 9 10 11 12
| import java.util.Arrays;
public class Test { public static void main(String [] args){ int []array=new int[5]; System.out.println(Arrays.toString(array)); for (int i=0;i<array.length;i++){ array[i]=i; } System.out.println(Arrays.toString(array)); } }
|
静态初始化:数据类型 数组名[]={元素1,元素2,元素3…..};
int []array={1,2,3,4,5,6},表示int类型的数组,名称为array,包含1,2,3,4,5,6这六个元素,数组的大小不可以改变,但是数组的每一个值可以重新赋值改变。
1 2 3 4 5 6 7 8 9 10 11 12
| import java.util.Arrays;
public class Test { public static void main(String [] args){ int []array={1,2,3,4,5,6,7}; System.out.println(Arrays.toString(array)); for (int i=0;i<array.length;i++){ array[i]=i+10; } System.out.println(Arrays.toString(array)); } }
|
数组使用细节
数组是多个相同的类型数据的集合,实现对这些数据的统一管理。(如果为不同类型,则数组类型的精度要可以大于数组包含的值的精度)
1
| double []array={1.1,12,15};可以 int []array={1.1,12,15};不可以
|
数组创建后,如果没有赋值,则都是有默认值的。注意:boolean默认false,String默认为null,char默认为。
数组的下标都是从0开始的
数组的下表不要出现越界异常。
数组属于引用数据类型,数组型数据的对象为object。
数组拷贝
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import java.util.Arrays;
public class Test { public static void main(String[] args) { int []arr=new int[]{1,2,3,4,5,6,7,8,9}; int []arr1= Arrays.copyOf(arr,arr.length); System.out.println(Arrays.hashCode(arr)); System.out.println(Arrays.hashCode(arr1));
arr=Arrays.copyOf(arr,arr.length*2); System.out.println(Arrays.hashCode(arr)); System.out.println(Arrays.hashCode(arr1)); System.out.println(arr.length);
} }
|
从上述的代码中我们可以发现,在拷贝之后,如果是数组大小相同,那么地址不会改变,但是如果改变了,地址也会改变。
main函数中数组作用
我们尝试输出这个,发现会在我们运行的时候,在后面添加一些函数,会自动加入args这个数组里面,用于接收命令行上指定的参数