一、数组的使用
使用方式1——动态初始化数组
No1:一步初始化
数据类型 数组名[] = new 数据类型[大小];
int n = 10;
int[] dp = new int[n];
return dp[0];
//上面两句代码可合并为
return new int[0];
No2:分两步初始化
第一步:声明数组
数据类型[] 数组名;也可以数据类型 数组名[];
第二步:创建数组
数组名 = new 数据类型[大小]
int n = 10;
int[] dp;
dp = new int[n];
return dp[0];
//上面两句代码可合并为
return new int[0];
使用方式2——静态初始化数组
数据类型 数组名[] = {元素值,元素值…}
int[] dp = {1, 2};
return dp;
//上面两句代码可合并为
return new int[]{1, 2};
二、数组赋值机制
1) 基本数据类型赋值,这个值就是具体的数据,而且相互不影响。
2) 数组在默认情况下是引用传递,赋的值是地址。
三、冒泡排序
int n = 10;
int[] arr = new int[n];
for (int i = 0; i < arr.length - 1; i++) {//外层循环是arr.length - 1次
for (int j = 0; j < arr.length - 1 - i; j++) {//arr.length - 1 - i 次比较
if (arr[j] > arr[j + 1]) {//如果前面的数>后面的数,就交换
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
四、数组使用的注意事项
1、数组是多个相同类型数据的组合,实现对这些数据的统一管理
2、数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
3、数组创建后,如果没有赋值,有默认值
boolean | byte | short | int | long | float | double | char | String |
false | 0 | 0 | 0 | 0 | 0.0 | 0.0 | \u0000 | null |
4、使用数组的步骤
- 》声明数组并开辟空间
- 》给数组各个元素赋值
- 》使用数组
5、数组的下标是从0开始的。
6、数组下标必须在指定范围内使用,否则报:下标越界异常
7、数组属引用类型,数组类型数据是对象(object)
五、二维数组
使用方式1——动态初始化数组
No1:一步初始化
类型[][] 数组名 = new 类型[大小][大小];
int n = 10;
int[][] dp2 = new int[n][];
return dp[0][0];
//上面两句代码可合并为
return new int[0][0];
No2:分两步初始化
第一步:先声明
类型 数组名[][];
第二步:再定义(开辟空间)
数组名 = new 类型[大小][大小];
int n = 10;
int[][] dp;
dp = new int[n][];
return dp[0][0];
//上面两句代码可合并为
return new int[0][0];
注意:
1、二维数组定义式时,行数必须给出,列数可以不给出
2、二维数组:实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不相同(列数不等的二维数组)。
使用方式2——静态初始化数组
类型 数组名[][] = {{值1,值2...},{值1 ,值2...}...} ;
int[][] dp = {{1}, {1, 2}};
return dp;
//上面两句代码可合并为
return new int[][]{{1}, {1, 2}};
备注:
以上若有明显错误的地方,可以私信我哦,谢谢~