JAVA-数组学习
数组的引例
现在需要统计某公司员工的工资情况,例如计算平均工资、找到最高工资等。假设该公司有50名员工,假如我没有数组的话,程序首先需要声明50个变量来分别记住每位员工的工资,然后在进行操作,这样做会显得很麻烦,而且错误率也会很高。因此我们可以使用容器进行操作。将所有的数据全部存储到一个容器中,统一操作。
容器概念:
容器:是将多个数据存储到一起,每个数据称为该容器的元素。
生活中的容器:水杯,衣柜,教室

数组的相关概念
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。
数组的初始化
数组的两种常见初始化方式:
动态初始化(指定长度)
静态初始化(指定内容)
数组的定义详解
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[] : 表示数组。
数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
new:关键字,创建数组使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]:数组的长度,表示数组容器中可以存储多少个元素。
注意:数组有定长特性,长度一旦指定,不可更改。
方式一:动态初始化
int[] arr = new int[3];
int arr[] = new int[3];
// 可以拆分
int[] arr;
arr = new int[3];
方式二: 静态初始化
int[] arr = new int[]{1,2,3,4,5};
// 可以拆分
int[] arr;
arr = new int[]{1,2,3,4,5};
方式三:静态初始化省略格式(不能拆分)
int[] arr = {1,2,3,4,5};
一维数组的相关应用
一维数组的遍历
public static void printarray(int[] array){
for (int i = 0; i <array.length ; i++) {
System.out.print(array[i]+" ");
}
}
计算一维数组的元素和
public static int sum(int[] array){
int sum = 0;
for (int i = 0; i <array.length ; i++) {
sum = sum+array[i];
}
return sum;
}
输出一维数组中的最大数
public static int ArrayMax(int[] array){
int result = 0;
result=array[0];
for (int i = 1; i < array.length; i++) {
if (array[i]>result){
result=array[i];
}
}
return result;
}
一维数组的反转
//反转数组 实现返回一个数组参数
public static int[] reverse(int[] array){
int[] result = new int[array.length];
for (int i = 0,j= array.length-1; i < array.length; i++,j--) {
result[j]=array[i];
}
return result;
}
二维数组
二维数组的示例
public class Demo02 {
public static void main(String[] args) {
int[][] array = {{1,2},{2,3},{3,4},{4,5}};
System.out.println(array[2][0]); //3
System.out.println(array[2][1]); //4
}
}
二维数组的遍历输出
public static void main(String[] args) {
int[][] array = {{1,2},{2,3},{3,4},{4,5}};
for (int i = 0; i <array.length ; i++) {
for (int j = 0; j <array[i].length ; j++) {
System.out.print (array[i][j]+" ");
}
System.out.println();
}
}
/*
1 2
2 3
3 4
4 5
*/
打印数组的方法(Arrays类)
public static void main(String[] args) {
int[] a = {1,2,3,4,55,6,77,231};
System.out.println(a+" ");
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(a+" ");
System.out.println(Arrays.toString(a));
}
Arrays用到的方法
Arrays.sort(a); //对数组进行排序(升序)
Arrays.toString(s); //打印数组元素
错误纠正
Arrays.sort(a);
System.out.println(a+" ");
//该返回无法显示数组元素--->[I@1b6d3586
//正确应该调用
Arrays.toString(a);
补充-JAVA的数组内存


浙公网安备 33010602011771号