租房广告中的学问之java数组遍历

Write By Monkeyfly

以下内容均为原创,如需转载请注明出处。

前提

就在刚才,群里有人发了这样一张图片(如下图所示):
这里写图片描述

说白了就是:在张贴的租房广告中,房东将本人的联系方式以代码的形式写了出来,并且用的是java的语法。要想联系本人,肯定要知道代码本身代表的意义,即这几行代码的执行结果是什么?

问题分析

  • 虽然我学过java,但是学艺不精,而且许久未接触,大部分已经遗忘得差不多了。
  • 从语法来看,循环语句使用的是java中foreach的语法。
  • 具体foreach语句怎么执行,还得去问度娘。
  • 简单分析一下,for(int i : index)中的i肯定不是下标。如果i是下标的话,那么遍历arr[i]就与数组index中所包含的元素没什么关系了,只是纯粹的下标i0依次递增,岂不是白写了那么多数字。而且arr数组的长度也不够手机号码的位数。
  • 再者说,依据生活常识来判断,手机号都是以数字1开头的,如果将i看做是数组下标的话,肯定是不合理的。
  • 所以,这个i肯定是每次遍历后,数组index中对应的每一个元素。
下标01234
arr数组中的元素82103
//下标
//arr数组中的元素:8,2,1,0,3
arr[2] ->   1
arr[0] ->   8
arr[3] ->   0
arr[2] ->   1
arr[4] ->   3
arr[0] ->   8
arr[1] ->   2
arr[3] ->   0
arr[2] ->   1
arr[3] ->   0
arr[3] ->   0
//应该就是这样没错了。

知识点

  • 这种有冒号的for循环叫做foreach循环,foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
  • foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句。然而,任何的foreach语句都可以改写为for语句版本。
  • foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”`的意思。实际上也就是这个意思。
//foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
    引用了x的java语句;
}
//示例代码: 
List<String> list = new ArrayList<String>(); 
list.add("1");
list.add("2");
list.add("3");
for (String x : list) { 
    System.out.println(x); 
} 
Object s[] = list.toArray(); 
for (Object x : s) { 
    System.out.println(x.toString()); //逐个输出数组元素的值 
}

所以:

  • for(int i : index)这也是遍历集合的一种方法,即将index这个数组中的每一个元素都拿出来赋值给i
  • for循环遍历index里的数值,将其逐个赋给i,然后再获取arr[i]
  • //这里的index是数组,i不是下标了,i是来接受数组index遍历出来的每一个元素的值。
    for (int i : index) {
    }

最终结果

手机号码就是:18013820100

javascript的写法:(如下图所示)

这里写图片描述

var arr = [8,2,1,0,3],
    index = [2,0,3,2,4,0,1,3,2,3,3],
    tel = "";
for(var i = 0;i < index.length;i++){
    var x = index[i];
    tel += arr[x];
}
console.log("联系方式:" + tel);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值