Java——数组

数组

关于数组,小北在这里简单介绍数组的简单知识。

首先,我们先了解什么是数组?数组能做什么?数组有什么特点?

我们要像认识一个人一样去了解
数组:是一种存放多个相同数据类型的容器。同时也是一种引用类型。
我们可以理解为,数组是一个容器的同时也是一种数据类型,作为人的话,人有名字也有工作,名字是数据类型,要做存放多个相同数据类型这个工作。


那么我们知道了数组,是什么,我们就要了解数组要做什么,怎么做。

从存储数据(即工作来看),怎么把数据存储进去的?
在介绍操作之前,我们先把操作的注意事项说一下,就像工作中的安全事项一样,我们怎么保证安全有效率的进行工作。
1.数组是一种引用类型,也就是我们吃串,拿着签,不会直接拿着肉,穿起来的肉就是我们数组存储的数组,那个可以把签子想象成是引用,数组比较特殊,吃能串一样的东西,什么蒜瓣肉啊就串不起来了。
2.数组中多个数据,类型统一。就像刚刚说的,串起来的串只能一种肉。串了别的肉就会串味。
3.一旦创建无法改变长度。这一点可以很好理解,多大的肉串多大的串,串完就烤不能在加了。
在这里,我们把存储数据的操作叫做初始化。
初始化:有三种方式
1.动态初始化:数据类型[ ] 数组名称=new 数据类型[数组长度];
这样我们可以只规定长度和数据类型,不规定存储的数据具体值,选个签子
随意串肉
2.静态初始化:数据类型[ ] 数组名称=new 数据类型[ ]{元素1,元素2,….};
在创建的时候,不直接指定长度,直接对指定的数据内容推算长度。
指定肉的数量和种类,签子自动串的操作。
3.省略初始化:数据类型[ ] 数字名称={ 元素1,元素2,…};
省略是格式上的省略,并不是真的省略了。省略的new 数据类型的操作,相当于默认,吃烤串有签子一样,不然就成了木炭肉了。


对于以上三种格式的初始化操作,我用代码的方式来实现一下,更具体的理解

动态初始化

这里写图片描述
关于数组为什么从0开始的,我们不妨在这里看一下
这里写图片描述
在这里,是因为数组创建(new)的时候涉及到初始的内存地址问题,所以从0开始存储数据。
结果
这里写图片描述

静态初始化


public class StaticArray {
    public static void main(String[] args) {

        //静态数组初始化
        int[] numbers=new int[]{1,2,3,4,5};
        System.out.print("静态数组:");
        for (int i = 0; i < numbers.length; i++) {
            System.out.print(numbers[i]+" ");
        }
        System.out.println();
        //当静态数组初始化完成之后不能再继续添加元素
        // 但是可以改变数组中的元素
        //我们将numbers数组中的元素改成全是5的元素
        System.out.print("改变后的静态数组:");
        for (int i = 0; i < numbers.length; i++) {
            numbers[i]=5;
            System.out.print(numbers[i]+" ");
        }

    }
}

结果:

这里写图片描述

省略格式初始化

public class OmitArray {
    public static void main(String[] args) {

        //省略格式数组的初始化
        int[] numbers={1,2,3,4,5};

        System.out.print("省略格式数组:");
        for (int i = 0; i < numbers.length; i++) {
            System.out.print(numbers[i]+" ");
        }
    }
}

结果
这里写图片描述

注意

1.索引越界,指的是数组下标或者遍历时超出指定数组的下标
2.空指针异常:访问的位置没有元素,或者超出可访问的范围

猜你喜欢

转载自blog.csdn.net/waitwolf/article/details/81747109
今日推荐