• Java中的数组(Array)


     

    数组对于每一门编程语言来讲都是最重要的数据结构之一,当然不同的编程语言对数组的实现以及处理也不尽相同。

     

    数组的概念:

      有限个相同类型元素变量放在一个整体,这个整体就叫做数组。数组中的每一个元素被称为数组元素,通常可以通过数组元素的索引(也叫下标,可以理解为一种编号,从0开始)来访问数组元素,包括数组元素的赋值(set)和取值(get)。

      在Java中数组属于引用类型,也是一种类型,Java中的数组要求所有的数组元素必须具有相同的数据类型,因此在一个数组中,数组元素的类型是唯一的,一个数组只能存储一种数据类型的数据,而不能存储多种数据类型的数据。

      一旦数组初始化完成,数组内存所占的空间也就被固定,因此数组的长度是不可改变的。即使把某个数组中所有元素的数据全部清空,其所占的空间仍然会被保留,该空间依然属于该数组,数组长度依然不会改变。数组既可以存放基本数据类型(如:int、char、boolean),也可以存放引用数据类型(如:String),只要数组的数组元素具有相同的类型就可以。

      数组在声明时必须要对其初始化。

    数组的声明:

      首先必须声明数组的类型,再声明数组变量(也就是名字),才能在程序中使用它。

      语法:

      (数组的声明一般分为以下两种方法)

    类型 变量名[];    //这种风格来自C/C++语言,但不常用,不是首选方法,意思是声明一个某某类型,叫什么的数组
    
    类型[] 变量名;    //这种风格是Java的风格,常用,是首选方法,意思是声明一个某某类型的数组,叫什么

      (注意:声明了一个数组,仅仅只是声明,只是有这么一个名称而已,但是里面没有任何数据,因为没有初始化,所以Java会报错)

    初始化:

      Java中声明了数组必须要对其初始化才可以使用。初始化也就是为数组的数组元素在内存中分配内存空间,并为每个元素赋初始值。

      数组的初始化分以下两种:

        ①静态初始化:

          静态初始化指在声明数组时就为数组元素分配空间并赋值。

          语法:

    dataType[] arrayName = new dataType[]{value1,value2,...,valuen};    //实际写法
    
    dataType[] arrayName = {value1,value2,...,valuen};    //简化写法,一般常用

          如:

    int[] a = new int[]{1,5,7,8,11};    //实际写法
    
    int[] a = {1,5,7,8,11};    //简化写法,一般常用

        ②动态初始化:

          动态初始化指数组定义与数组分配空间与赋值的操作分开进行,动态初始化只指定数组的长度,由系统为每个数组元素指定初始值。

          语法:

    dataType[] a = new dataType[arraySize];    //常用写法
    
    dataTypr[] b;
    b = new dataType[arraySize];    //不常用写法

      

          如:

    int[] a = new int[5];    //常用写法,声明该数组长度为5
            
    int[] b;
    b = new int[5];        //不常用写法,实际含义只是将以上步骤拆分了而已

    初始值:

      以下是系统为数组元素分配的默认初始值:

        1.数值型(byte、short、int、long):值为0。

        2.浮点型(float、double):值为0.0。

        3.字符型(char):值为u0000(即空格)。

        4.布尔型(boolean):值为false。

        5.引用类型(类、接口、如:String字符串):值为null。

  • 相关阅读:
    02-qiankun-gitsubmodule使用及部署流程
    01-eslint/vetur/preitter/vscode配置
    01-mac m1 安装nvm / node-sass报错
    17-JS数组方法,是否改变原数组归纳
    03-webpack之require.context()实现前端工程自动化
    最小生成树prim算法
    bfs
    数据结构实验三题目一
    邻接表
    邻接矩阵
  • 原文地址:https://www.cnblogs.com/joyfulcode/p/12460064.html
Copyright © 2020-2023  润新知