在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储 50 名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦。

随着处理的信息量越来越大,工作也就越来越烦琐,这时可以使用数组或集合来存储信息。通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。

数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性:

  1. 一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。
  2. 有序性:数组中的元素是有序的,通过下标访问。
  3. 不可变性:数组一旦初始化,则长度(数组中元素的个数)不可变。

总的来说,数组具有以下特点:

  • 数组可以是一维数组、二维数组或多维数组。
  • 数值数组元素的默认值为 0,而引用元素的默认值为 null。
  • 数组的索引从 0 开始,如果数组有 n 个元素,那么数组的索引是从 0 到(n-1)。
  • 数组元素可以是任何类型,包括数组类型。
  • 数组类型是从抽象基类 Array 派生的引用类型。

在 Java 中数组的下标是从零开始的,很多计算机语言的数组下标也从零开始。

Java 数组下标访问运算符是中括号,如 intArray[0],表示访问 intArray 数组的第一个元素,0 是第一个元素的下标。

Java 中的数组本身是引用数据类型,它的长度属性是 length。

1.1 Java数组简介:数组是什么?相关推荐

  1. javascript字典中添加数组_Javascript 数组与字典

    Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. var a = new Array(); a[0] = "Acer&qu ...

  2. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  3. Java数组简介:数组是什么?

    在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储50名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦. Java数组简介:数组是什么? 随着处理的信息量越来越 ...

  4. java 声明数组_Java中的数组简介

    对于Java来说,如果需要用一种数据结构来保存若干个同类型的元素,那么可以选择使用数组. 所谓数组就是用来保存若干个同类型的数据元素,在Java中也可以认为数据元素就是对象.也就是说,只要给定了一个数 ...

  5. java基础(十) 数组类型

    ###1. 数组类简介 在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) {Class ...

  6. 5、java中的数组

    1.简介 数组是一种具有随机存取特性的数据结构,是内存上一段连续区域的表示,是实现顺序存储的基础,数组只能用于存储同一类型的数据.数组的长度在初始化时定义之后就不可更改,并且在初始化数组时必须指定数组 ...

  7. js解析java对象数组_js接收并转化Java中的数组对象的方法

    在做项目时,要向ocx控件下发命令,就要在js中得到java中的对象,然后拼成一种格式,下发下去...当对象是一个时比较简单,但如果对象是一个数组时,就略显麻烦了. 开始我以为有简单的方式,可以直接进 ...

  8. java二维数组随机赋值_java 二维数组随机赋值

    java 二维数组随机赋值 [2021-01-31 00:08:55]  简介: 目的:使用二维数组打印一个 10 行杨辉三角.(视频教程推荐:java课程)思路:1. 第一行有 1 个元素, 第 n ...

  9. Java基础-遍历数组

    Java基础-遍历数组 1.语法简介 2.一维数组 3.二维数组 4.三维数组 1.语法简介 在Java中,对for语句的功能给予了扩充.加强,以便更好的遍历数组. 语法格式如下: for(声明循环变 ...

最新文章

  1. 在ATS 5.3.0上测试域名统计插件channel_stats
  2. [每天五分钟,备战架构师-10]数据库系统
  3. 针对maven install 报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1 解决方案...
  4. MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  5. 2018年网络规划设计师上午真题及答案解析
  6. 【华为云技术分享】Linux内核发展史 (2)
  7. 广播(有序)跨应用发送简单举例
  8. 最简单的基于FFmpeg的移动端例子:Android 推流器
  9. 34个省级行政区简图_全国23个省中,为什么广东要分为21个地级市?今天总算知道了...
  10. 自由移动的气泡_MBBR工艺—移动床生物膜反应器
  11. 基于Dijkstra算法和KM算法的网约车订单分配问题
  12. 论文写作中文核心期刊查询和中图检索号查询
  13. OpenCV打开摄像头截图
  14. 色彩搭配的原理与避讳
  15. 去掉 VC2017里输出:warning LNK4099
  16. 走向破产的拜腾汽车,为何无人接盘?
  17. 连续特征如何离散化,为什么要离散化,常用于逻辑回归模型
  18. R语言地理空间分析、可视化及模型预测
  19. 2013年各大IT公司研发类笔试题
  20. WEEE(5500)包20顿回收可以包过

热门文章

  1. Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5+1个样本)——类别预测
  2. 自动化机器学习(二)自动构建机器学习流水线
  3. BeautifulSoup([your markup]) to this: BeautifulSoup([your markup], lxml) 解决未设置默认解析器的错误
  4. SpringMVC基础配置及使用
  5. 代码审计_strcmp比较字符串
  6. 51nod 1525 重组公司
  7. PyCharm使用指南及更改Python pip源为国内豆瓣
  8. CodeBlocks 更改 gui 程序为 命令行
  9. 优化DOTTEXT之二:缓存用户控件
  10. nrf51822-配对绑定实现过程