返回信息流代码如图。。
大概明白for(int num: nums) 是把nums[]数组里的每个数都赋值给num..吧
想问 这个:冒号的赋值方式 是只能在for里面用么。。还是while啥都可以 还是别的地儿也能用
ps 确实是基础太弱。。。哭一会儿、、、、
这是一条镜像帖。来源:北邮人论坛 / java / #49509同步于 2016/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
...小白提问。循环语句都有问题 蠢哭,,不好意思问大神。。
Ykxpb
2016/4/20镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
这个语法叫for-each,只能用在for循环里,只是一种简写,详见http://stackoverflow.com/questions/7763131/java-for-loop-syntax-for-t-obj-objects
soga~~~
3q~~~~非常感谢~~~~!
【 在 dss886 的大作中提到: 】
: 这个语法叫for-each,只能用在for循环里,只是一种简写,详见http://stackoverflow.com/questions/7763131/java-for-loop-syntax-for-t-obj-objects
这种增强for循环实际上是获取迭代器,依次获取可迭代对象里的元素。逻辑没有错,思路没有错,错在尝试修改数组内容。迭代器有个特性叫“快速迭代失败”,大概意思就是获取迭代器后不能返回去修改原可迭代对象的元素。这种快速迭代失败问题不仅仅出现在增强for循环,在java的集合类如list/map都有这种现象。不仅仅出现在java语言,我知道python也有这种快速迭代失败的问题。总之记住一点,获取迭代器后不能返回去修改原来可迭代对象的内容。
啊咧 迭代器那个remove我大概看书里讲过,就是如果构造map的迭代器,那么不能map.remove, 要用迭代器自带的iterator.remove 不然会出错[虽然没用过,也不懂原理];
但是我提问的这个for里冒号的这个 也是迭代器么。。额 这段代码是在别人那里抄来的~之前是不太懂它啥意思来问的~~跑的通哎~~~但其实是有潜在问题么·?
【 在 panshanwhut 的大作中提到: 】
: 这种增强for循环实际上是获取迭代器,依次获取可迭代对象里的元素。逻辑没有错,思路没有错,错在尝试修改数组内容。迭代器有个特性叫“快速迭代失败”,大概意思就是获取迭代器后不能返回去修改原可迭代对象的元素。这种快速迭代失败问题不仅仅出现在增强for循环,在java的集合类如list/map都有这种现象。不仅仅出现在java语言,我知道python也有这种快速迭代失败的问题。总之记住一点,获取迭代器后不能返回去修改原来可迭代对象的内容。
【 在 Ykxpb 的大作中提到: 】
: 啊咧 迭代器那个remove我大概看书里讲过,就是如果构造map的迭代器,那么不能map.remove, 要用迭代器自带的iterator.remove 不然会出错[虽然没用过,也不懂原理];
: 但是我提问的这个for里冒号的这个 也是迭代器么。。额 这段代码是在别人那里抄来的~之前是不太懂它啥意思来问的~~跑的通哎~~~但其实是有潜在问题么·?
:
只有赋值所以没什么问题