java - 术语:数组的第 X 个元素与索引 X 处的元素

标签 java arrays terminology

我已经自学了一段时间,但本学期我终于有机会参加真正的计算机科学类(class)。 今天,我们有一个问题,询问数组下标为 100 会做什么:

pixelArray[100]

然而,所有听起来正确的答案都说上面的 loc 访问了“数组中的第 100 个像素”。我确信这是一个棘手的问题,因为 PixelArray[100] 将是第 101 个像素。但不是。 (我还无意中说了 99 而不是 101,并听了整个“数组从零开始计数”的内容)

我一直以为是这样的:

var foo = arbitraryArray[5];
/* 
foo is the sixth element of the array
foo is the element at index 5
*/

但是按照老师的描述,任意数组[5]是数组的第五个元素。

我并不是想证明我的老师是错的,我确信她至少大部分是对的。我唯一的问题是,我疯了还是“第 X 个元素”这句话意味着从 1 开始计数?

最佳答案

你的老师错了。

array[5] 是数组的第六个元素。

出现这种情况的原因:

  • Java 数组是从零开始的,因此 array[0] 是第一个元素
  • 数组需要(至少)6 的大小来寻址索引 5 处的元素
  • 索引 5 处的元素之前有 5 个元素,即 0、1、2、3 和 4 处的元素

有些语言使用基于一的数组(但没有一个值得了解)

关于java - 术语:数组的第 X 个元素与索引 X 处的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39421357/

相关文章:

java - 为什么 Stream#reduce 不隐式接受处理父类(super class)型元素的累积函数?

arrays - 从数组中删除空白正则表达式命中

testing - 与质量保证相比,什么是质量检查?

java - 如何使用Spring的@ExceptionHandler实现自定义错误字符串?

java - 关闭时自动重新打开 Android 应用程序

java - 使用扫描仪和方法从文件中读取

domain-driven-design - DDD 中是否存在应用程序事件术语?

terminology - 静态/动态与强/弱

java - 简单服务不会绑定(bind) : bindService return false, 服务连接从未触发

javascript - 在父子结构中重新排序 JS 对象