zoukankan      html  css  js  c++  java
  • 数组类型

    数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引(下标)来访问数组元素,包括数组元素赋值和取出数组元素的值。

    数组特征

    数组有以下特征:
    1.数组要求数组里的所有元素具有相同的数据类型
    2.数组一旦初始化完成,数组在内存中所占的空间将固定下来,因此数组的长度不可改变。
    3.数组不仅可以存储基本类型的数据,也可以存储引用类型的数据。
    4.数组也是一种数据类型,它本身是一种引用类型。

    数组的初始化 

    Java语言中数组必须先初始化,然后才可以使用。所谓初始化,就是为数组的数组元素分配内存空间,

    并为每个数组元素赋初始值。
    数组的初始化有如下两种方式。
    静态初始化:初始化时由程序显式指定每个数组元素的初始值,由系统决定数组长度。
    动态初始化:初始化时程序员只指定数组长度,由系统为数组分配初始值

    定义数组

    Java语言支持两种语法格式来定义数组:
    type[] arrayName; int[] a;
    type arrayName[]; int a[];
    注意:数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了 一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。而且由于定义数组 只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组 也不能使用,只有对数组进行初始化后才可以使用。

    静态初始化

    静态初始化的语法格式如下:
    int[] arrayName ;
    arrayName = new type[]{element1,element2,element3…};
    简化的语法格式:
    int[] arrayName = {element1,element2,element3…};
    最简单的写法
    int[] arrayName = new int[]{ element1,element2,element3…};
    此处的type必须与定义数组变量时所使用的type相同。或者也可以定义数组时所指定的type的子类,并使用花括 号把所有的数组元素括起来,多个数组元素之间以英文逗号(,)隔开,定义初始化值的花括号紧跟[]之后。

    动态初始化

    动态初始化只指定数组的长度,由系统为每个数组元素指定初始值。动态初始化的语法格式如下:
    int[] arrayName;
    arrayName = new type[length];
    系统按如下规则分配初始值:
    byte、short、int、long分配初始值为0
    float、double分配初始值为0.0
    char分配初始值为’u0000’
    boolean分配初始值为false
    类、接口、String和数组分配初始值为null.

    使用数组 

    数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。访问数组元素都是通过在 数组引用变量后紧跟的一个方括号([]),方括号里是数组元素的索引值,这样就可以访问数组元素了。
    访问到数组元素后,就可以把一个数组元素当成一个普通变量使用了,包括为该变量赋值和取出该变量的值,这 个变量的类型就是定义数组时使用的类型。

    使用数组需要注意的地方

    所值得指出的是,java语言的数组下标是从0开始的,也就是说,第一个元素的索引值为0,最后一个数组元素的索引值为数组长度减1.如果访问数组元素时指定的索引值小于0或者大于等于数组的长度,编译程序不会出现任何错误,但运行时出现异常:java.lang.ArrayIndexOutOfBoundsException:N(数组索引越界异常)。
    所有的数组都提供了一个length属性,通过这个属性可以访问到数组的长度,就可以通过循环来遍历该数组的每个数组元素。
    type[] arrayName = new type[10];
    System.out.println(arrayName.length); // 此行语句就是输出数组的长度

  • 相关阅读:
    Hadoop--Map/Reduce实现多表链接
    map/reduce实现 排序
    Hadoop-Map/Reduce实现实现倒排索引
    虚拟机之仅主机模式(HostOnly)链接外网设置
    hadoop家族之mahout安装
    SQLserver中的常量与变量、判断循环语句
    sqlserver中的数据转换与子查询
    SQLserver中常用的函数及实例
    sqlserver的增删改查
    SQLserver数据库基础
  • 原文地址:https://www.cnblogs.com/t0404/p/10291110.html
Copyright © 2011-2022 走看看