数组
1、数组是一组变量的集合,存储“相同数据类型”的一组数据; 连续的空间。
2、声明一个变量就是在内存空间划出一块合适的空间。
声明一个数组就是在内存空间划出一块连续的空间。
3、数组名,即标识符,连续空间的首地址。
元素下标标明了元素在数组中的位置,从0开始。
数组中每个元素都可以通过下标来访问
数组长度固定不变,避免数组越界
4、使用数组四步走:
(1)声明数组 int[]a=a[10]; int a[];int []a=new int[5] int[]scores = {5,6,7,8,9};
告诉计算机数据类型是什么
(2)分配空间 a=new int[5];告诉计算机非配几个连续的空间
(3)赋值 a[0]=8;
(4)处理数据 a[0]=a[0]*10;
5、数组的遍历。
(1)通过for循环
(2)foreach循环:
int [] ints = {1,2,3};
for(int i:ints){
System.out.println(i);
}
6、基本数据类型-传值
堆内改变,栈也改变。
int [] a = {170,60};
int [] b=a;
System.out.println(a[0]+" "+a[1]);
System.out.println(b[0]+" "+b[1]);
a[0] = 180;
a[1] = 70;
System.out.println(a[0]+" "+a[1]);
System.out.println(b[0]+" "+b[1]);
a,b都改变
除了八种基本数据类型,都是是引用数据类型
引用数据类型传的是引用地址。
基本数据类型传的是值
7、Arrays类
是JDK提供的专门用于操作数组的工具类,位于java.util包中
直接调用Arrays类的方法操作数组,无需自己编码;
* equals(array1,array2);判断两个数组是否相等。
* sort(array); 对数组array的元素进行升序排序。 数字 字符串 都可以比较
* toString 把数组用字符串打印出来
* fill(array,val); 把数组里所有元素都赋值为val
* binarySeach(array,val); 查询元素之val的在数组array中的下标。
* copyOf(array,length); 把数组array复制成一个长度为length的数组