数组:
//1.声明数组
int[] nums;
//2.分配空间
nums = new int[4];
//等价于 int[] unms=new int[4];
//3.赋值
nums[0]=1;
nums[1]=2;
//4.处理数据
一维数组:
定义数组:
格式:
数据类型[] 数组名=new 数据类型[数组长度];
或者
数据类型 数组名[]=new 数据类型[数组长度];
注意:
- 定义时一定要指定数组名和数据类型
- 必须书写[],表示定义了一个数组而不是一个普通变量
- 数组长度决定了连续分配空间的个数,可以用length获取数组长度
数组的数据类型决定了每个分配空间的大小
int[] scores=new int[5];
String[] cities=new String[6];
数组赋值:
格式:
数组名[下标]=值;scores[1]=66;
数组的初始化:
格式:
数据类型[] 数组名={值1,值3值3………值N};
或者
住居类型[] 数组名=new 数据类型[]{值1,值3值3………值N};int[] scores=new int[]{12,133,145};
//等价于:
int[] scores={12,133,145};
数组排序:
冒泡法:
int[] stu={16,25,9,90,23};
int t=0;
for (int i=0;i<stu.length;i++){
for (int j = i+1; j < stu.length; j++) {
if (stu[i]<stu[j]){
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
}
}
//结果:[90, 25, 23, 16, 9]
Arrays类:
| 方法 | 返回值类型 | 说明 | | —- | —- | —- | | Arrays.equals(nums,nums1) | Boolean | 比较两个数组是否相等 | | Arrays.sort(nums1) | void | 对数组元素进行升序排序 | | Arrays.fill(nums,2) | void | 把数组元素array的所有元素都赋值为val | | Arrays.toString(nums) | string | 将数组转换为一个字符串 | | int nums3[]=Arrays.copyOf(nums,9); | 与被复制数组类型一致 | 将数组复制成一个长度为length的新数组 | | int index=Arrays.binarySearch(nums1,89); | int | 查询数组元素值val在数组中的下标,,如果没有这个数返回数组负的数组长度+1 |
int nums[]={23,55,76,89,23,7};
int nums1[]={23,55,76,89,23,7};
System.out.println(Arrays.equals(nums,nums1));//比较
Arrays.sort(nums1);//升序排序
System.out.println(Arrays.toString(nums1));//打印字符串
Arrays.fill(nums,2);//全部赋值
System.out.println(Arrays.toString(nums));
int nums3[]=Arrays.copyOf(nums,9);//赋值数组
System.out.println(Arrays.toString(nums3));
int index=Arrays.binarySearch(nums1,89);
System.out.println(index);
二维数组:
int nums[][]={{1,1,1},{2,2,2},{3,3,3}};