数组的简单应用(java)
数组(Array)是有序的元素序列, 有序排列的同类数据元素的集合称为数组。
一维数组
01声明数组(数组的创建)
// 存储年龄的数组,类型为int整型
int[] age;
// 存储名字的数组,类型为String字符串型
String[] name;
// 存储价格的数组,类型为double浮点型
double[] prince;
数组有两种声明方式,一种是上述的方式。另一种如下:
int age[]
String name[]
double prince[]
推荐使用第一种方法,第一种代码可读性更好。
02分配空间
//数组名 = new 数据类型[数组长度]
arrayName = new type[size];
age = new int[2];
name = new String[4];
price = new double[6];
我们也可以选择声明数组和分配空间同时进行
int[] age=new int[2];
数组的下标是从0开始的
03数组的使用
设置数组的值
System.out.println(arr[0]) //未复制的数组,int类型默认为零。
// 设置数组的值
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
04遍历数组
利用循环语句的两种方式
int[] nums = new int[]{1,2,3,4};
// 第一种
for(var i : nums){
System.out.println(i);
}
// 第二种
for(int i = 0; i < nums.length; i++){
System.out.println(a[i]);
}
05数组的排序
public static void main(String[] args) {
String[] ss = new String[]{"an", "javascript", "egg", "book", "user", "zoo", "c", "c++"};//创建一个数组
System.out.println(Arrays.toString(ss));//未排序
Arrays.sort(ss);
System.out.println(Arrays.toString(ss));//升序
Arrays.sort(ss,(x,y)->y.compareTo(x));
System.out.println(Arrays.toString(ss));//降序
Arrays.sort(ss,(x,y)->Math.random()>.5?1:-1);
System.out.println(Arrays.toString(ss));//乱序
输出结果
[an, javascript, egg, book, user, zoo, c, c++]
[an, book, c, c++, egg, javascript, user, zoo]
[zoo, user, javascript, egg, c++, c, book, an]
[c++, egg, javascript, user, an, book, zoo, c]
06二维数组
int[][] nums = new int[3][5]; // 第一个必须要有长度
double[][] d = new double[3][];
String[][] s = new String[3][];
// 定义时初始化
int[][] nu = new int[][]{{1,2,3},{25,23,12}};
// 获取单个元素
System.our.println(nu[0][1l]);
// 获取全部元素
int[][] nu = new int[][]{{1, 2, 3}, {25, 23, 12}};
for (int i = 0; i < nu.length; i++) {
for (int j = 0; j < nu[i].length; j++) {
System.out.println(nu[i][j]);
}
}