数组是多个同样数据类型数组组合,当中数据类型是不论什么数据类型。

数组变量是引用类型变量,数组能够作为对象,数组中的每个元素相当于对象的成员变量,所以数组元素能够默认初始化。(博客java——变量分类有关于成员变量初始化的说明)。

一维数组

声明

type var[];或者type[] var

初始化

动态初始化:定义与数组元素分配和赋值分开操作

int a[];
a=new int[3];
a[0]=0;
a[1]=1;
a[2]=2;

静态初始化:定义的同一时候为数组元素分配空间并赋值

int a[]={1,2,3};

内存分析

class TestArray
{
public static void main(String arg[])
{
int[] s;
s=new int[5];
for(int i=0;i<5;i++)
{
s[i]=i;
}
}
}

以上程序运行到最后。内存应该是这种:

二维数组

二维数组能够看做以数组为元素的数组。

初始化

动态初始化(注:java中多维数组的声明和创建依照从高维到低维的顺序进行)

int a[][]=new int[3][];
a[0]=new int[2];
a[1]=new int[4];
a[2]=new int[3];

静态初始化

int a[][]={{1,2},{2,3},{3,4}};

内存分析:

class TestArr
{
public static void main(String arg[])
{
int s[][]=new int[3][];
s[0]=new int[2];
s[1]=new int[4];
s[2]=new int[3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<s[i].length;j++)
{
s[i][j]=i;
}
} }
}

以上程序运行到最后,内存应该是这种



总结

1.java中一维数组的元素是数据类型同样的变量,而二维数组就是将多个一维数组组合成数组,所以理解好一维非常重要。2.数组是引用变量,能够作为一个对象。而它的元素就是成员变量。

java——数组的更多相关文章

  1. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  2. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

  3. Java 数组基础

    数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...

  4. Java数组及其内存分配

    几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...

  5. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  6. Java数组技巧攻略

      Java数组技巧攻略 0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...

  7. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  8. Java数组与vector互转

    Java数组与vector互转 /* Object[] object1 = null ; //数组定义 Vector<Object> object2;//Vector定义 object2 ...

  9. 比较Java数组,ArrayList,LinkedList,Vector 性能比较

    public class PerformanceTester { public static final int TIMES=100000; public static abstract class ...

  10. Java数组的12个常用方法

    以下是12个关于Java数组最常用的方法,它们是stackoverflow得票最高的问题. 声明一个数组 String[] aArray = new String[5]; String[] bArra ...

随机推荐

  1. js---16原型链

    var p = {name:"sss"}; var c2 = Object.create(p,{age:32,salar:"eee"});//c2就继承了p的属 ...

  2. 34.Intellij IDEA 安装lombok及使用详解

    转自:https://blog.csdn.net/qinxuefly/article/details/79159018 项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set ...

  3. 下载安装与配置Excel 2013数据挖掘加载项(SQL Server 2012 SP1 + SQLServer2012_DMAddin.msi)

    一.系统要求 在安装这个数据挖掘加载项前,你的机器必须要可以支持如下的相关系统设备: (1)操作系统:windows 7 和  windows 8,暂时不支持 windows 10. (2)excel ...

  4. ElasticSearch vs 关系型数据库

    它们之间的关系,如下图所示.

  5. C# 使用 X.509 v.3 证书的方法。

    C# 使用 X.509 v.3 证书的方法. public static void Main()    { // The path to the certificate.        string ...

  6. 微信小程序,前端大梦想(二)

    微信小程序之数据缓存实例-备忘录     数据缓存在移动端的使用是非常重要的,既可以减少用户的流量支出又可以提高程序的访问速度和用户体验.每个微信小程序都可以有自己的本地缓存,可以通过 wx.setS ...

  7. 原生JS实现页面内定位

    需求:点击跳转到页面指定位置 <div id="test">点击跳转到此处</div> [法一]: 利用a标签的锚点跳转 <a href=" ...

  8. ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 异常的解决

    错误提示内容: {System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been ret ...

  9. [Unit testing] data-test attr FTW

    Most of time, we get used to use class name as a selector in the test. But one problem for this is c ...

  10. Mahout是什么?(一)

    不多说,直接上干货! http://mahout.apache.org/ Mahout是Apache Software Foundation(ASF)旗下的一个开源项目. 提供一些可扩展的机器学习领域 ...