数组的概念、定义、初始化、使用(访问及遍历)及应用

1.什么是数组?

数组可以看作是相同类型元素的一个集合,在内存中是一段连续的空间;

2.怎样定义数组?

定义一个数组的格式如下:
     T[] array=new T[N];
    其中
   T: 表示数组中存储元素的类型 
   T[]: 表明array是数组类型的
   array:表示数组的名字,按照小驼峰命名规则来
   new:用来申请数组空间的一个关键字,
   该关键字申请的空间在堆上
   N:是一个常量,表示数组最多可以存储多少个元素

举个例子:

//创建10个int类型元素的数组
  int[] array1=new int[10];     
//创建5个double类型元素的数组
 double[] array2=new double[5];   
 //创建3个字符类型的数组
 String[] array3=new String [3];

3.怎样初始化数组?

数组的初始化有两种:静态初始化与动态初始化
 方式一: 动态初始化 
该方式在创建数组时,直接指定数组中元素的个数;
   //表明数组中元素的个数为10
 int[] array = new int[10];
方式二: 静态初始化
该方式在创建数组时不直接指定数据元素的个数,
而是直接将具体的数据内容进行指定;
语法格式: 
T[] 数组名 = {num1, num2, num3, ..., numn};
int[] array = {0,1,2,3,4,5,6,7,8,9};
该方式也可以写成:
int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};
需要注意的是:
(1)两种写法所表示的内容是一样的
(2)静态初始化虽然没有指定数组的长度,
但编译器在编译时会根据{}中元素的个数来确定数组的长度
(3)静态初始化时, {}中数据类型必须与[]前数据类型
保持一致

如果不确定数组中内容时,就使用动态初始化,否则一般使用静态初始化;

那学会了定义和声明数组,那数组中的元素是如何进行访问呢?

4.数组的使用?
(1)怎样访问数组

数组在内存中是一段连续的内存空间,空间的编号都是从0开始的,依次递增,该编号就称为数组的下标,通过下标就能快速访问数组中任意位置的元素;
下面看一个例子

int[] array={1,2,3,4,5,6,7,8,9};
   //通过下标找到6,怎样操作呢?
  //由于下标是从0开始的,因此6就是下标为5的那个元素
   //因此通过以下操作就可以找到
   System.out.println(array[5]); // 输出6
   需要注意的点:
 下标从0开始,介于[0, N)之间不包含N,
 N为元素个数,不能越界,否则会报出下标越界异常

当出现一个数组,我们不清楚它的长度时,该怎么办呢?也就是如何求数组的长度问题?

(2)怎样求数组的长度?

在数组中通过 数组名.length 来获取数组的长度;
举个例子:

int [] array={3,41,34,96,5,32,4,30};
System.out.println(array.length); //输出为8,就是数组的长度

(3)怎样遍历数组?

所谓 “遍历” 是指将数组中的所有元素都访问一遍;
采用循环来进行遍历

int [] array={3,41,34,96,5,32,4,30};
 for(int i=0;i<array.length;i++){
    System.out.println(array[i]);//输出3,41,34,96,5,32,4,30
    
     }

也可以使用 for-each 遍历数组,该方式是 for 循环的另外一种使用方式,能够更方便的完成对数组的遍历;

//遍历数组的另一种方式
    int [] array1={3,41,34,96,5,32,4,30};
    // x:表示数组中元素的一份拷贝
   for(int x:array1){
       System.out.println(x); //输出3,41,34,96,5,32,4,30
        }

5.数组的应用

求数组中元素的平均值

public class ArrayAverage {
    public static double average(int[] array){
     int sum = 0;
   for(int i=0;i<=array.length;i++){
       sum += i;
   }
   //注意结果要用double表示
   return (double)sum / (double)array.length;
    }

    public static void main(String[] args) {
        int [] array={1,2,3,4,5,6};
        System.out.println(average(array)); //结果3.5
    }
}

欢迎大家跟我一起来学习!!!