数组

数组

数组是相同类型数据的有序集合,可以通过下标进行访问。

数组的声明

datatype[] arrayRefVar;
//例如:声明一个int型数组array1
    int[] array1;

数组的创建

datatype[] arrayRefVar = new datatype[arraySize];
//例如:创建一个有10个int型数据的数组array1
    int[] array1 = new int[10];

数组的赋值

package Array;
public class arrayDemo01 {
    public static void main(String[] args) {
        int[] array1=new int[3];
        //数组下标的合法区间为:0~length-1
        array1[0]=3;
        //将3赋值给第一个位置
        array1[1]=4;
        //将4赋值给第二个位置
        array1[2]=5;
        //将5赋值给第三个位置
        //利用发for循环进行遍历,打印出数组array1的各个元素
        for (int i = 0; i < array1.length; i++) {
            System.out.println(array1[i]);
        }
    }
}

数组的四个基本特点

  1. 其长度是确定的,一旦被创建,它的大小就是不可以改变的;
  2. 起元素必须是相同类型的,不允许出现混合类型;
  3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型;
  4. 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。

数组的三种初始化方式

静态初始化

int[] a={1,3,5,7,9};
//在数组创建时就进行赋值

动态初始化

int[] a = new int[2];
a[0]=1;
a[1]=2;
//数组创建后,利用下标进行赋值

默认初始化

数组属于引用类型,它的元素相当于实例变量,因此一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

int类型的数组,未经赋值的元素默认值为0。

数组的使用

普通for循环

package Array;
public class arrayDemo02 {
    public static void main(String[] args) {
        //定义一个数组,并进行初始化赋值
        int[] arrays = {1,3,5,7,9,11};
        //利用for循环进行遍历,打印全部的数组元素
        for(int i=0;i<arrays.length;i++){
            System.out.println(arrays[i]);
        }
        //数组各个元素求和
        int sum=0;
        for (int i = 0; i < arrays.length; i++) {
            sum+=arrays[i];
        }
        System.out.println("sum="+sum);
        //数组各个元素取最大值
        int max=arrays[0];
        for (int i = 1; i <arrays.length ; i++) {
            if(max<arrays[i]){
                max=arrays[i];
            }
        }
        System.out.println("max="+max);
    }
}

for-each循环

package Array;
public class arrayDemo03 {
    public static void main(String[] args) {
        int[] arrays={2,3,4,5,6,7};
        //可以直接遍历数组,但是没有下标,无法取出元素
        //array代表取出的元素值,arrays代表数组
        for (int array : arrays) {
            System.out.println(array);
        }
    }
}

数组作方法入参

package Array;
public class arrayDemo04 {
    public static void main(String[] args) {
        int[] a={2,4,6,8,10};
        //调用方法printArray打印数组元素
        printArray(a);
    }
    //定义一个方法:打印一个数组
    public static void printArray(int[] arrays){
        for (int i = 0; i <arrays.length ; i++) {
            System.out.print(arrays[i]+" ");
        }
    }
}

数组作为返回值

package Array;
public class arrayDemo05 {
    public static void main(String[] args) {
        int[] arrays={1,2,3,4,5};
        int[] reverse=reverse(arrays);
        printArray(reverse);
    }
    //定义一个方法:反转数组
    public static int[] reverse(int[] arrays) {
        int[] result = new int[arrays.length];
        for (int i = 0, j = arrays.length - 1; i < arrays.length; i++, j--) {
            result[j] = arrays[i];
        }
        return result;
        //作为返回值
    }
    //定义一个方法:打印一个数组
    public static void printArray(int[] arrays){
        for (int i = 0; i <arrays.length ; i++) {
            System.out.print(arrays[i]+" ");
        }
    }
}

posted on 2020-06-09 17:13  小白佳  阅读(161)  评论(0)    收藏  举报