一、数组的概念:是一种容器,可以同时存放多个数据值
数组的特点:
1、是引用数据类型
2、数组当中的数据类型必须统一
3、数组的长度在程序运行期间不可改变
数据的初始化:
1、动态初始化(指定数组的长度);
数据类型[] 数组名称 = new 数据类型[数组长度];
2、静态初始化(指定数组的内容)
基本格式:数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,...};
省略格式:数据类型[] 数组名称 = {元素1,元素2,...};
public class Demo01Array {
public static void main(String[] args) {
//创建一个数组,存放300个int数据
//格式:数据类型[] 数组名称 = new 数据类型[数组长度];
int[] arrayA = new int[300];
//创建一个数组,存放int数字:5、15、25
//格式1:
//数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,...};
int[] arrayB = new int[]{5,15,25};
//格式2:
int[] arrayC = {5,15,25};
}
}
二、数组的使用
1、访问数组元素:数组名称 [索引值],【注意】索引值是从 0 开始的
int[] array = {10 ,20 ,30 };
System.out.println(array);//此时输出结果是内存地址值
System.out.println(array[0]);//输出数组的第一个元素
2、获取数组长度:数组名称.length
int[] array = new int[5];
System.out.println(array.length);//5
int[] array1 = {2, 13, 25, 34, 50, 78};
System.out.println("数组的长度是:" + array1.length);//6
3、数组的遍历输出
//遍历数组元素
int[] array2 = {2, 13, 25, 34, 50, 78};
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i]);
}
4、数组可以作为方法的参数或者返回值使用
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int[] array1 = {1, 2, 3, 4, 5, 6};
printArray(array);
printArray(array1);
}
//数组也可以作为方法参数
public static void printArray(int[] array){
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
public static void main(String[] args) {
int[] result = calculate(10,20,30);
System.out.println("总和是:" + result[0]);
System.out.println("平均值是:" + result[1]);
}
//数组同样可以作为返回值类型使用
public static int[] calculate(int a , int b, int c ){
int sum = a + b +c;
int avg = sum/3;
int[] array = {sum, avg};
return array;
}
练习:求数组中的最大或最小值
public static void main(String[] args) {
int[] array = {5, 13, 24, 30, 57, 78, 99};
//先假设第1个元素为最大
int max = array[0];
//再用剩下的元素与它做比较,若比max大,则赋值给max
for (int i = 1; i < array.length; i++) {
if(array[i] > max){
max = array[i];
}
}
System.out.println("这个数组中的最大值是:" + max);
int min = array[0];
for (int i = 1; i < array.length; i++) {
if(array[i] < min){
min = array[i];
}
}
System.out.println("这个数组中的最大值是:" + min);
}