java——数组

2019-01-04  本文已影响0人  牧歌_东

在java中数组的应用的是必不可少的,数组在定义的时候必须声明数组的大小,也就是数组的容量;在后续的程序中,数组的长度是不可变的,意味着我们不能进行add方法进行扩容,虽然不能进行扩容,但是另一方面也说明,数组的查询很快,根据下表值可以直接得到我们想要的值,下面就让我们来具体认识一下Java中的数组。

(1)数组是用来存放一组具有相同类型数据的数据结构。
(2)通过整形的下标访问数组中的每一个值(数组下标从0开始)
(3)数组的定义通过某种数据类型后面加上[]来定义,在此之后跟上变量名就可以定义相应类型的数组变量

数组的定义

int[] a;或者int a[];这两种方法的定义是等价的。在这里只定义了一个整形数组变量a;但是还没有将a真正的初始化为一个数组。为将一个数组初始化可以使用new关键字,也可以使用赋值语句进行初始化。数组一旦被创建,就不能再改变大小了

int a[] = new int[10];//将a初始化为10的整型数组
int[] b = {0,1,2,3};//将b初始化为大小为4的整形数组,并且4个分量的值分别等于0,1,2,3

在本篇的开始我们就说了,数组的下标是从0开始的,那么数组最后一位的下标就是数组的大小减1结束。如果在Java中超过下标去访问数据,那么java编译器就会出现数组越界的错误(ArrayIndexOutOfBoundsException)。一般我们为了避免这个错误,通常我们会用length的方法来获取数组的长度,进行校验,防止数组越界的访问。
数组在java中是一个类,因此两个数组变量可以指向同一个数组。我们来看一下下面的这段代码,我们预测一下运行的结果。

public class ShuzuTest {
    public static void main(String[] str) {
        int[] a = {1,1,1,};
        int[] b = a;
        for(int i = 0;i < b.length;i++) {
            b[i]++;
        }
        for(int i = 0;i < a.length;i++) {
            System.out.println(a[i]);
        }
    }
}

10秒钟时间。。。。。
刚才我们说了,两个数组变量可以指向同一个数组,int[] = a;这句代码,其实不是赋值给b,而是另b也指向了a的数组空间。所以在我们对b进行操作的时候,也是对a进行了操作。


数组作为参数

同样当数组作为方法的参数传递的时候,也是传递的对于数组的应用,因此在方法中对数组进行的操作会影响到原来的数组。此处不做过多的赘述了,有问题的欢迎私信!

上一篇 下一篇

猜你喜欢

热点阅读