我们知道数组实际上是一种简单的数据结构,它在计算机中是顺序存储的,而我们要使用数组,实际上就是要使用数组中的元素。

如:现在有一个数组:int[] a = {13,15,59,28};那么我们如何找到并使用59这个数字呢?

数组的下标:

数组的下标可以这样理解:数组的下标实际上就是为数组里面的各个元素进行编号,这个编号是顺序递增进行的,我们可以把数组中的元素看成是正在排队。

如上面的例子,13是数组中的第一个元素,15是第二个,59是第三个,28是第四个。于是,最容易让人接受的编号就是1234这样编号了,但是Java并不是这样做的,Java是从0开始编号的,也就是说第一个元素的编号为0,第二个为1,以此类推。那么为什么Java要这样做呢?原因如下:

比如上面的例子,数组a有4个元素,当程序执行的时候,Java会向内存去申请一段空间地址用来存储这四个元素,而且这个空间结构是顺序的连续结构,因为只有四个元素,所以这段空间只有四个房间,假如该空间的第一个房间的编号为1001,第二个为1002,第三个为1003,第四个为1004,但是,我们只知道:1.数组a去拿地址的时候它只能拿到这一段地址,而不是分成很多小房间的地址,也就是说,它只知道这段地址的第一个房间编号为1001;2.这段地址的数组空间有四个。

所以,Java是这么做的:

给第一个元素编号为0:a[0] --> 1001+0 = 1

java数组length是下标_数组的下标与长度相关推荐

  1. 增加数组下标_数组以及ArrayList源码解析

    点击上方"码之初"关注,···选择"设为星标" 与精品技术文章不期而遇 前言 前一篇我们对数据结构有了个整体的概念上的了解,没看过的小伙伴们可以看我的上篇文章: ...

  2. js 取得数组下标_数组的介绍及使用

    JavaScript 中的数组常用于在单个变量中存储多个值.数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存).创建数组的目的就是为了保存更多的数据. 数组概念和语法 概念:数组 ...

  3. java 数组 length 减少_java中数组有没有length()方法?string没有lenght()方法?

    java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int length=arr.length;//求数组的长度 ------------------------- ...

  4. JAVA数组扁平化整合_数组扁平化的几种处理放法

    清明节,这几天放假闲来无事,好好研究一下基础知识,今天看看数组扁平化该怎么处理: 先来看数组扁平化是什么: var arr = [1,2,3,4,[5,6,[7,8]],true] => [1, ...

  5. java大括号定义数组_Java基础语法_数组

    数组的概念 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长幅在程序运行期间不可改变 数组的定义格式 数组的 ...

  6. 如何给6个整数的一维数组某个元素赋值_数组指针详解

    文章部分资料来源: Pointer to an Array | Array Pointer - GeeksforGeeks​www.geeksforgeeks.org 介绍数组指针之前,先来回顾指针: ...

  7. vue数组转list集合_数组转换成集合

    package com.loaderman.jdk5; import java.util.ArrayList; import java.util.Arrays; import java.util.Li ...

  8. java中用length求二维数组的长度

    今天刷题的时候碰到二维数组长度的问题,直接敲代码验证~ 用事实说话: 说明length求得的是二维数组的行数,即data[i][j]中的i 但如果要求二维数组的列数呢?很简单,用data[0].len ...

  9. 数组的fill方法_数组fill()方法以及JavaScript中的示例

    数组的fill方法 JavaScript fill()方法 (JavaScript fill() method) fill() method is used fill the array with a ...

最新文章

  1. 数据分析IJCAI 2020:录用率12.6%,华人占据半壁江山,表征学习、GNN成热点 | AI日报...
  2. jquery-datatables 销毁重新渲染
  3. 通过分析 JDK 源代码研究 TreeMap 红黑树算法实现--转
  4. Centos下的apache2练习
  5. C#中 paint()与Onpaint()的区别
  6. 前端学习(848):为什么学习节点操作和节点简介
  7. spring整合使用activemq
  8. 用汇编的眼光看C++(之算术符重载陷阱)
  9. Oracle Spatial常用方法记录
  10. 1119 九九乘法表的值(%-4d等 的含义)
  11. 如何使用excel快速下载网页图片?
  12. Rhino基础教程---三管混接
  13. 【数字图像处理】基于SeetaFace2的人脸检测
  14. excel添加水印及设置打印参数poi
  15. 苹果6S怎么录屏_苹果6s来电没声音怎么回事
  16. MySQL的数据类型(三)
  17. SQLyog连接MySQL时出现2058错误解决方法
  18. Win10系统Administrator忘记开机密码怎么办?
  19. 【Matlab电力负荷预测】粒子群算法优化支持向量机预测电力负荷【含源码 1225期】
  20. “华为杯”研究生数学建模竞赛2020年-【华为杯】C题:面向康复工程的脑电信号分析和判别模型(附优秀论文)

热门文章

  1. 最简单的HTTPS加密过程简介
  2. Matlab:无穷和 NaN
  3. 谷歌翻译影响vue_给自己的网站接入谷歌翻译,以及修复了一个谷歌翻译的一个bug...
  4. VB:set语句的用法
  5. SpringSecurity学习笔记(三)自定义资源拦截规则以及登录界面跳转
  6. Mybatis Plus最新代码生成器AutoGenerator,更简单更高效!
  7. mybatis-plus代码生成器,程序员偷懒神器
  8. 沪深300股票聚类可视化案例||tushare完整可运行代码逐行解释
  9. 我所玩过的GALGAME——メンアットワーク!魔兽学院men at work2的中文版《永远的羁绊》全攻略
  10. Android 7.0新特性——依然范特西