Java数组基础

今天给大家介绍一下有关Java中一维数组的一些基本知识,希望能够帮助到大家!.

目录

一、数组的概念

(一)数组的定义:

(二)Java中数组的定义方法(初始化方法)

(三)数组类型的默认值

二、数组的各种操作

(一)获取数组里的某个元素

(二)获取数组的长度.length方法

(三)遍历数组

(四)equals方法

(五)clone方法

(六)Arrays.copyOf() 方法

.

一、数组的概念

(一)数组的定义:

数组(Array)是有序的元素序列。 [1]  若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 [1]  这些有序排列的同类数据元素的集合称为数组。                                                                                                                   -------------百度百科

根据以上的定义,我们简单的理解一下:

数组是用于储存多个相同类型数据的集合。(可以是八大数据类型,也可以是自定义类型)

(二)Java中数组的定义方法(初始化方法)

1、静态初始化

        //静态初始化
        int[] arr1=new int[]{1,2,3,4,5};
  int[] arr2={1,2,3};
   int[] arr;
            arr=new int[5];//声明和初始化分两步进行
      int[] arr1;
        arr1=new int[]{1,2,3,5};

2、动态初始化

 
        //动态初始化
        int[]  arr=new int[5];

以上讲解了我所知道的全部的在Java中定义的数组方法,但是一般我们都是用一下的这一种方法来定义数组。

       int[] arr={};//推荐使用这种定义方式

(三)数组类型的默认值

我们都知道,我们在定义数组的时候,可以只声明数组的长度,可以不往数组里传值,这时我们在输出数组里的元素时,怎么知道这个数组是空数组呢?这是,默认值的存在感就来了!

下面是八种基本数据类型的数组的默认值:


public class Demo02 {
    public static void main(String[] args) {
        /*
         * 八种数据类型数组的默认值
         * */
        int[] arr1=new int[1];
        System.out.println("int类型的数组的默认值是:"+arr1[0]);
        long[] arr2=new long [1];
        System.out.println("long类型的数组的默认值是:"+arr2[0]);
        float[] arr3=new float[1];
        System.out.println("float类型的数组的默认值是:"+arr3[0]);
        double[] arr4=new double[1];
        System.out.println("double类型的数组的默认值是:"+arr4[0]);
        boolean[] arr5=new boolean[1];
        System.out.println("boolean类型的数组的默认值是:"+arr5[0]);
        byte[] arr6=new byte[1];
        System.out.println("byte类型的数组的默认值是:"+arr6[0]);
        short[] arr7=new short[1];
        System.out.println("short类型的数组的默认值是:"+arr7[0]);
        char[] arr8=new char[1];
        System.out.println("char类型的数组的默认值是:"+arr8[0]);
    }
}

 

运行结果如下:

二、数组的各种操作

我们先来定义一个数组

        int[] arr={1,2,3,4,5};
        System.out.println(arr[2]);

(一)获取数组里的某个元素

这里要注意:我们的数组的下标是从0开始的,即:arr[0]代表数组中的第一个元素,所以我们在这里输出一下数组的2号元素,也就是数组里的第三个元素3。

(二)获取数组的长度.length方法

我们可以通过“数组.length“方法来获取数组的长度

public class Test {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        int length=arr.length;
        System.out.println(length);

    }
}

(三)遍历数组

因为我们如果直接输出这个数组的时候,会得到数组的是数组的内存地址,若想把数组里的元素一个一个的拿出来的话,就需要遍历这个数组了,这里我想出了三种遍历数组的方法。

1、for循环

public class Test {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }

    }
}

 2、增强for循环


public class Test {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        for (int i:arr) {
            System.out.println(i);
        }
    }
}

以上两种方法的运行结果都是将数组内的元素如下图所示--换行输出

3、数组的toString方法 


import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        System.out.println(Arrays.toString(arr));
    }
}

(四)equals方法

equals方法---------指示一些其他对象是否等于此。


public class Demo02 {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        int[] arr1={1,2,3,4,5};
        System.out.println(arr.equals(arr1));
    }
}

因为两个数组的地址不同,所以返回值是false,若想比较内容是否一致,可以重写equals方法,这里就不演示了。

(五)clone方法

clone方法-------------创建并返回此对象的副本。

 

import java.util.Arrays;

public class Demo02 {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        int [] clone = arr.clone();//调用数组的clone()方法,将数组复制一份,并让clone指向复制出来的数组
        clone[2] = 100;
        System.out.println(Arrays.toString(arr));//[1,2,3,4,5]
        System.out.println(Arrays.toString(clone));//[1,2,100,4,5]

    }
}

(六)Arrays.copyOf() 方法

Arrays.copyOf() 方法--------复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。

import java.util.Arrays;

public class Demo02 {
    public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        String[] arr1={"1","2","3"};
        int [] arr2=Arrays.copyOf(arr,6);
        System.out.println(Arrays.toString(arr1));

    }
}

我们也可以把这种方法看成是给数组扩容的一种方法。

今天的分享结束---谢谢大家! 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值