复习Java之数组
001.什么是数组
数组是相同类型的数据,按顺序组成的一种引用数据类型。
002.一维数组
0021.声明
- 语法:数据类型[] 数组名;
- 如:int[] arr;
0022.声明并创建
- 语法:数据类型[] 数组名 = new 数据类型[数组长度];
- 如: int[] arr = new int[10];
- 注意:数组的长度一定要写上;
0023.数组的初始化
- 声明数组并给予赋值,这叫做数组的初始化;
- 如: int[] arr = {1,2,3,4,5};
0024.数组的快速访问
- 语法:数组名[下标];
- 如:a[2]=3;
- 注意:数组的下标从0开始;
0025.数组的长度
- 语法:数组名.length;
- 如:arr.length; //arr数组的长度为:5
0026.数组的内存分配
- 如定义:int[] arrInt = new int[5];
- 解释:生成了两块内存空间,一块存在栈区的arrInt,另一块存在堆区的new int[5];
003.增强型for循环(foreach循环)
用法:
int[] arr={1,2,3,4,5};
for(int n : arr){
System.out.println(n);
}
004. 变量交换
int a=2,b=1;
int temp; //中间值
temp=a;a=b;b=temp;
005.冒泡排序
int[] nums = {9,1,7,6,3,1,8,5};
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums.length-i-1;j++){
if(nums[j]>nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1]=temp;
}
}
}
for(int i=0;i<nums.length;i++){
System.out.print(nums[i]);
}
006.二维数组
0061.是什么?
- 二维数组可以看作由多个一维数组组成,存放着相同数据类型的数据;
0062.声明并创建
* 如:int[][] array = new int[3][3];
* 注意:必需指定行数;
0063.初始化
* 如:int[][] num = {{1,2,3},{4,5,6},{7,8,9}};
* 访问:num[1][1]为:5;
0064.数组长度
* int[][] num = {{1,2,3},{4,5,6},{7,8,9}};
* num.length长度为3;
0065.二维数组遍历
int[][] arr={{2,65},{51,87,90},{96}};
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
007.数组工具类:Arrays
提供的操作:
- sort --排序
- equals --比较
- toString --转字符串
- fill --填充
- hash --哈希
- asList --转列表
- binarySearch --查找
008.小补充
- 创建一个int类型数组时,数组元素都被初始化为 0;boolean类型数组的元素会被初始化为 false;对象数组的元素则初始化为一个特殊值 null.