A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么数组下标从0开始而不是从1开始?每次做数组问题就感到痛苦,求大神指导!

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

18 个回复

倒序浏览
规定.
回复 使用道具 举报
这,,就是规定吧,就像外国每周的第一天是周日一样
回复 使用道具 举报
这是个深奥的问题,恩,就这样
回复 使用道具 举报
因为这样对计算机底层来说运算更快,因为计算机底层是从00 01 10 11这样的,所以从0开始更好。如果从1开始表计算机还要每次进行+1。
回复 使用道具 举报 1 0
你不觉得遍历数组时 for(int i=0;i<array.length<i++)比for(int i=1;i<array.length+1;i++)方便一点吗,对老外就是那么懒
回复 使用道具 举报
每次查询第几个元素时总是告诉自己别出错!感觉特别扭!!
回复 使用道具 举报
就是最开始的C就这样弄了,可能设定的人认为这样特别,后来的C++,java的大神认为大家都习惯了,也就从0开始了。我认为是可能大神认为任何事物都是0开始。
回复 使用道具 举报
就俩字,规定
回复 使用道具 举报
这种问题,,记住就行了,没必要钻牛角尖。。。浪费时间
回复 使用道具 举报
huoxy 中级黑马 2014-11-6 09:58:21
11#
因为外国人不想浪费0这个数:比如4位2进制数能表示0-15共16个数,如果角标只能用一个4位2进制数表示的话,这个数组最多可以装16个数据;反之,如果角标从1开始,则只能装15个数据了。
回复 使用道具 举报
你是学什么语言出身的啊,过去有一种语言是从1开始的,但是C/Java都是从0开始的,各有各的好处,从0开始对计算机有好处
回复 使用道具 举报
如果你是java的创始人你可以让他从1开始:lol
回复 使用道具 举报
时间久了你会觉得如果从1开始会特别别扭,如果计算机有思想,这就是它的思想吧.
回复 使用道具 举报
真正原因是0是计算机系统最小的数,从1开始就浪费了一位
回复 使用道具 举报
规定啊,可能设计底层系统的人,有它想法
回复 使用道具 举报
美欧都管1楼叫the ground floor.
2楼叫First floor
其实这样蛮方便的
3楼 second floor意味你有两层楼梯要爬
我们这样就是习惯了
回复 使用道具 举报
感觉楼上说二级制是从0开始的那位说的比较靠谱...
回复 使用道具 举报
:L钻牛角尖了哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马