数组是最常见的一种数据结构,是相同类型的、用一个标识符封装到一起的基本类型数据序列或对象序列。可以用一个统一的数组名和下标来唯一确定数组中的元素。实质上数组是一个简单的线性序列,因此数组访问起来很快。

Java中虽然数据类型不是对象,但是由数据基本类型组成的则是对象,在程序中引入数组可以更有效的管理和处理数据。

数组根据维数的不同分为:一维数组、二维数组和多维数组。

5.1  一维数组
5.1.1 创建一维数组
  数组作为对象使用new关键字进行分配内存,必须首先定义数组变量所属的类型,即声明数组。声明一维数组有两种形式:
数组元素类型 数组名字[];
数组元素类型[] 数组名字;
注:
1.数组元素类型:决定了数组的数据类型,它可以是java中的任意的数据类型,包括基本数据类型和非基本数据类型。
2.数组名字:为一个合法的标识符。
3.符号“[]”:指明变量是一个数组类型变量类型,单个“[]”表示要创建的是一位数组。
【例】声明一位数组
int arr[]    //声明int型数组,数组中的每个元素都是int型数值
String[]str  //声明String数组,数组中的每个元素都是String型数值
声明数组后,还不能访问它的任何元素,因为声明数组仅仅是给出了数组名字的元素的数据类型,要想使用数组还要为其分配内存空间,且分配空间需要指明数组的长度,分配内存空间的语法格式:
数组名字=new 数组元素类型[数组元素的个数];
.数组名字:已经声明的数组变量的名称
.new:对数组分配空间的关键字。
.数组元素的个数:指定数组中变量的个数,即数组的长度。
【例】为数组分配内存
arr =new int[5];
5.1.2 初始化一维数组
数组可以与基本数据类型一样进行初始化的操作,数组的初始化可以分别初始化数组中的每个元素,数组的初始化有两种方式。
【例】初始化一维数组
int arr[]=new int[]{1,2,3,4}     //第一种初始化方式

int arr2[]={1,2,3,4}             //第二种初始化方式

5.2 二维数组 
二维数组是应用最为广泛的一种数组,二维数组是指有两个底标的数组。
5.2.1声明二维数组
声明二维数组有两种方法,语法格式分别如下:
数组元素类型 数组名字[][];
数组元素类型[][] 数组名字;
注:
1.数组元素类型:决定了数组的数组类型,它可以是java中的任意的数据类型,包括基本数据类型和非基本数据类型。
2.数组名字:使用一个合法的标识符。
3.[][]:两个“[]”表示要创建的数组是二维数组。
【例】声明二维数组
float A[][];
5.2.2 创建二维数组
创建二维数组的过程,世纪实际上就是在计算机中申请一个存储空间。
【例】创建二维数组
int A [][]={1,2,3},{4,5,6}
通过上述代码创建了一个二维数组,A是数组名,实质上此二维数组相当于一个两行三列的矩阵,当需要取多维中的值时,可以使用下标来显示。
5.2.3 初始化二维数组
二维数组的初始化与一位数组的初始化类似,同样可以使用大括号来完成二维数组的初始化。语法格式:
type arrayname[][]={value1,value2,…value n}
type :数组数据类型
arrayname:数组名称,一个合法的标识符
value:数组中各元素的值。
【例】初始化二维数组
int mychar[][]={{12,23},{56,96}}

初始化二维数组后要明确数组的下标都是从0开始的。

Java 数组结构的更多相关文章

  1. Java选择结构和数组

    Java选择结构和数组 一.Switch语句 二.if和switch区别 推荐使用if 三.函数 Java中的函数和方法是同一个词 四.数组 4.1.数组常见错误 五.内存机制 六.转换成十六进制 移 ...

  2. java实现无序数组结构

    一.数组的2种定义方式 数据类型 []  数组名称 = new 数据类型[数组长度]; 这里 [] 可以放在数组名称的前面,也可以放在数组名称的后面,一般放在名称的前面 数据类型 [] 数组名称 = ...

  3. Java 内存结构备忘录

    本文详细描述了 Java 堆内存模型,垃圾回收算法以及处理内存泄露的最佳方案,并辅之以图表,希望能对理解 Java 内存结构有所帮助.原文作者 Sumith Puri,本文系 OneAPM 工程师编译 ...

  4. JAVA循环结构

    JAVA循环结构:顺序结构只能执行一次,如果要执行多次需要用到循环 JAVA中的循环结构有while:do...while:for: 1.while循环:先判断布尔表达式中的值,若为true,执行循环 ...

  5. JVM规范系列第2章:Java虚拟机结构

    本规范描述的是一种抽象化的虚拟机的行为,而不是任何一种(译者注:包括 Oracle 公司自己的 HotSpot 和 JRockit 虚拟机)被广泛使用的虚拟机实现. 记住:JVM规范是一种高度抽象行为 ...

  6. java内存结构学习的一种打开方式

    用Java开发已经四年,中途学了python,Scala,接触这些开发语言后,总感觉Java就像老奶奶裹脚——又臭又长.然,Java虐我千百遍,我待Java如初恋.聊起Java,不得不谈Java的内存 ...

  7. Java 语言结构【转】

    Java 语言结构 基础:包(Package).类(Class)和对象(Object) 了解 Java 的包(Package).类(Class)和对象(Object)这些基础术语是非常重要的,这部分内 ...

  8. 【Java虚拟机结构(第1部分)数据类型】摘要

    <Java虚拟机规范(Java SE 7版)>作者:Tim Lindholm.Frank Yellin.Gilad Bracha.Alex Buckley 摘要:第二章 Java虚拟机结构 ...

  9. java 数组的基本概念

    1.数组的基本概念 数组指的是一组相关变量的集合.例如:如果说现在要定义100个整型变量,如果按照我们以前的思路,我们可能这样定义: public class demo { public static ...

随机推荐

  1. C语言:宏完美定义

    #include <stdio.h> #define M (n*n+3*n) #define M1 n*n+3*n int main(){ int sum, n; printf(" ...

  2. Java基础00-内部类23

    1. 内部类 内部类 1.1 内部类概述 代码示例: 1.2 成员内部类 代码示例: 创建一个成员内部类:定义时没有小括号是因为类是没有形参的.在类的成员位置,就是成员内部类了 创建测试类:这里发现不 ...

  3. Redis中一个String类型引发的惨案

    ​      曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...

  4. POJ2044 Weather Forecast 题解

    写了一个小时--不会--无耻地看题解去了-- 关键在于存储状态的方式,真没想到-- 每个状态要存当前坐标.天数和这个状态下四个角的情况,vis数组存整张图的访问情况,有天数.坐标.四个角的情况,只有这 ...

  5. 最大公约数and最小公倍数(Java版)

    1.最大公约数and最小公倍数 import java.util.Scanner; public class MultipleAndDivisor { public static void main( ...

  6. 常见的BI软件有哪些_BI工具软件哪个好用

    世界越来越以数据的驱动.数据分析是帮助企业深入了解自身业务表现(例如正在做什么或哪块业务需要注意和改进)的重要元素.为了获得更直观的展现,数据分析软件可帮助公司通过报告.数据可视化.应用程序等从数据中 ...

  7. jvm源码解读--07 创建 fixup_mirrors

    通过前面的分析,创建的insttanceKlass 都没放入了java_lang_Class::fixup_mirror_list()这里类的数组里面了,所有的instance列举如下 ------- ...

  8. Java 在线/离线 文档

    英文: Oracle 官网在线文档 Java SE 8 Oracle 官网在线文档 Java SE 9 & JDK 9 中文: Java 1.8: 中文 – 谷歌版 中文 – 有道版 中文 – ...

  9. Spring Cloud专题之五:config

    书接上回: SpringCloud专题之一:Eureka Spring Cloud专题之二:OpenFeign Spring Cloud专题之三:Hystrix Spring Cloud 专题之四:Z ...

  10. 快速上手pandas(下)

      和上文一样,先导入后面会频繁使用到的模块: In [1]: import numpy as np import pandas as pd import matplotlib.pyplot as p ...