为了账号安全,请及时绑定邮箱和手机立即绑定

大神来看看。。。帮我理解理解。

语法

 for(元素类型 元素变量 : 历遍对象){

        执行代码

}

小编例子中的(String hobby : hobys)

元素变量为什么是hobby? 

把s去掉就是变量?   抱歉。我是在不知道怎么表达此处的疑问

就是感觉格式应该是for(元素类型 元素名称: 历遍对象)

但是这样的话 元素名称 不就是历遍对象吗?

有没有大神理解我在说什么= =


正在回答

4 回答

我初学时也有这个疑惑,for(String hobby : hobys)表示:你遍历对象是hobys,而这个hobys中的每一个元素都是String类型的,所以String指的是元素类型。每执行一次for循环,就会读取hobys中的一个元素,而这个被读取的元素会被存储到hobby中,hobby只是一个临时变量,可以任意取名。

1 回复 有任何疑惑可以回复我~
#1

616516334 提问者

非常感谢!
2016-08-10 回复 有任何疑惑可以回复我~

元素变量名称可以任取,命名规则参考2-5,还有我也是初学者,第一次看到你的举例搞不懂为毛你用的是:而不是=    赋予变量的符号就应该是=   。还有for语句后面的3个;之间的东西应该是  赋予变量初始化;变量条件;变量变化循环。(以上是学习6之前的看法,突然发现你的问题是出自6-8的,好吧我错了。等我继续学习了看能否回答你,字面上猜测你可能hobby和hobys单纯的看成一个单词了,只是后者加了个S)

0 回复 有任何疑惑可以回复我~
#1

Perry123

刚刚学完6-8,说下我自己的见解。你写的这个hobby只是另一个变量,你甚至可以把它写成abc,然后在最后输出的地方同样换成abc就行了。老师为啥有S之分是因为,S在英文里是复数,组的意思,在一个名词后面加上S,利于写代码的时候知道这个是个数组。而一般变量,比如你定义名称name,名称数组names 多个S只是利于区分是否为数组而已。我把自己的代码发给你看下。重点看最后2排,这就是我的核心意思了。
2016-08-09 回复 有任何疑惑可以回复我~
#2

Perry123 回复 Perry123

import java.util.Arrays; ublic class HelloWorld { public static void main(String[] args) { int[] scores = { 89, 72, 64, 58, 93 }; Arrays.sort(scores); for(int abc:scores){ System.out.println(abc); } } }
2016-08-09 回复 有任何疑惑可以回复我~
#3

Perry123 回复 Perry123

我也是个小白,自己理解多联系。老师这么写变量是为了让大家更好的记住你所表达的名词的英文缩写。记得开始学这个的时候,老师就说过,定义的变量名称最好与你所表达的东西相符。如果无论是分数,还是名字,都用最简单的变量abc之类的,那么你每次都要在后面进行注解,不然根本不明白abc代表的是什么变量。反而如果是分数变量,直接用score就能表达,简单易懂。当然,这需要一定的英文基础了,多看多写就好了。
2016-08-09 回复 有任何疑惑可以回复我~

我也是刚学,我感觉元素变量就是个名字而已,可以任取

0 回复 有任何疑惑可以回复我~

这个hobby也可以换其他的,这个是变量,比如for(String s : hobbys)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1166446    人
  • 解答问题       17592    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

大神来看看。。。帮我理解理解。

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号