zoukankan      html  css  js  c++  java
  • 关于Java数组

        今天,我们将要谈到的是Java里的数组

        数组是一种容器,它是一些相同类型元素的集合。我们可以用数组,去存储一些相同类型的数据,比如,整数,浮点数,字符,...事实上,数组甚至可以用来存储同一个类的多个对象。由此可见其功能的强大。

        我们从最简单的数组开始。一维数组是一种线性的数据结构。在Java里面,定义一个一维数组的格式有三种:

    1)、数据类型 []数组名=new 数据类型[数组长度]

    2)、数据类型 []数组名={数据,...}

    3)、数据类型 []数组名=new 数据类型[]{数据,...}

    给出定义三个数组的代码如下:

      int、char、String是数据类型,[]表示数组,abc是数组名。

        对于一个数组,它只有一个属性length,即数组的长度。我们可以用 数组名.length去获取数组的长度。对于数组里某个位置的元素,我们可以用 数组名[下标]的方式去访问或者设置具体值。

        二维数组较之一维数组有一定区别。定义一个二维数组的方式也有三种:

    1)、数据类型 [][]数组名=new 数据类型[行][列]

    2)、数据类型 [][]数组名={{数据,...},...}

    3)、数据类型 [][]数组名=new 数据类型[][]{{数据,...},...}

    给出三种定义方式的代码如下:

        一维数组中的数据,它的内存是线性分配的。也就是说,一维数组内数据的内存是相连的。二维数组与一维数组不一样,二维数组是不是一种线性的数据结构,它是多个线性数据结构的组合。我们可以用 数组名.length去访问这个二维数组有多少行,用 数组名[行下标].length的方式,去访问这个二维数组某行有多少列。这里注意一下,对于第一种定义二维数组的方式,得到的是一个规则的二维数组。但如果你直接给二维数组赋初值的话,那么得到的不一定是一个规则的二维数组。如下:

    其输出结果是:

        因此,当你定义一个二维数组的时候,你必须要更关注数组越界的问题,以防报错。

        除此之外,注意对于一个二维数组a,加入你去访问a[行],那么输出的将是该行的首地址。因此,当你要对二维数组某个位置的元素进行访问和赋值的时候,必须给定具体的行和列的值。

        关于更高维度的数组这里就不一一列举了,有兴趣的可以深入探究一下。

        个人关于数组的见解就这么多,主要是要灵活运用到我们的代码当中去,简化我们的程序。如果各位大神有什么可以补充的,欢迎评论,有什么问题,希望大家能大方指正出来。

  • 相关阅读:
    回调函数: 一定要在函数名前加上 CALLBACK,否则有可能引起内存崩溃!
    win32-api: 让 static 控件中的水平横行,垂直居中。
    Win32-API: 终于能正常的捕获焦点事件: WM_COMMAND、BN_SETFOCUS、EN_SETFOCUS
    FindExecutable:查找与一个指定文件关联在一起的程序的文件名
    ImageMagick: win7 | win8 & uac (用户帐户控制) 注册表的一些事
    ImageMagick: 6.8.3 升级到 6.8.9 遇到的问题
    ImageMagick: DrawImage(Image*,DrawInfo*) 绘制填充图片时卡住的原因分析
    真的无语, 今天遇到一个奇葩的事情: http 会话劫持
    高DPI下界面错乱的解决方法和原理
    关于 HDC 的释放
  • 原文地址:https://www.cnblogs.com/PHBlog/p/6003802.html
Copyright © 2011-2022 走看看