java——数组

在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进行了操作。


数组作为参数

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组类型和数组引用变量详解 数组类型为什么要用数组?Java数组的两大特征:定义数组时,不能指定数组的长度变量分为...
    Ansaxnsy阅读 2,912评论 2 3
  • 1. Java数组是静态的 Java是静态语言,所以Java的数组也是静态的,即:数组被初始化后,长度不可变 静态...
    CoderJed阅读 7,566评论 0 8
  • 05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器)为了存储同种数据类型的多...
    苦笑男神阅读 632评论 0 0
  • 文/木珏明 相信很多年过三十未婚大龄的人,特别是女生,会如我一样,不是在相亲,就是去相亲的路上,疲于奔波。却...
    木珏明阅读 395评论 0 2
  • 书名:富爸爸财务自由之路 作者:罗伯特·清崎,莎伦·莱希特 金句:小规模地开始并利用好自己的时间,记住,经验比金钱...
    舟舞2018阅读 212评论 0 0