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

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. Spark—RDD介绍

    Spark-RDD 1.概念介绍 RDD(Resilient Distributed Dataset):弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算 ...

  2. [HAOI2012]外星人 题解

    人类智慧题. 首先,只有 \(\varphi(1)=\varphi(2)=1\).再考虑题目中给的提示: \[\varphi\left(\prod_{i = 1}^m p_i^{q_i}\right) ...

  3. RHEL7配置端口转发和地址伪装

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为Linux上使用firewalld做端口转发和地址伪装以及外网访问内网的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭 ...

  4. HTMLTestRunner.py 文件,已修改完成

    """ A TestRunner for use with the Python unit testing framework. It generates a HTML ...

  5. 将base64Url对应图片保存到本地

    上图中的内容就是base64编码之后对应的Url  图中base64,之前的都是用于声明该图片的格式以及它的编码格式  base64,之后的就是该图片对应的数据了 我们只需要把数据转换为字节保存下来即 ...

  6. 基于小熊派Hi3861鸿蒙开发的IoT物联网学习【五】

    BearPi-HM_Nano开发板鸿蒙OS内核编程开发--消息队列 什么是消息队列?        答:消息队列中间件是分布式系统中重要的组件,主要解决应用耦合.异步消息.流量削锋等问题.实现高性能. ...

  7. C语言学习之基本数据类型【一】

    近期学习鸿蒙硬件物联网开发,用到的开发语言是C: 一.基础语法:第一个案例: 命令 gcc hello.c #include <stdio.h> //stdio.h 是一个头文件 , #i ...

  8. 版本号是通过import合并而来的,不是继承来的

  9. Winform中生成自动控件

    场景: 前几天项目需要模拟数据,但是实际设备还没有接上,就自己用Winform搭建了一个数据模拟器,生成数据给平台.这里又一个需求,就是从数据库中找出设备,然后自动生成控件,勾选就表示开启该设备,能上 ...

  10. 卷积的等变性(equivariant) / 不变性(invariant)

    不变性:输入x发生变换,但是F之后的输出不变 \(F(x)=F [\)transform\((x)]\) 池化:近似不变性,当图像发生微小变化,最大池化的输出不变,还是一个池化范围内的max 等变性: ...