黑马程序员技术交流社区
标题:
早两天做了两道题,看了答案一直没想明白
[打印本页]
作者:
zhanglang
时间:
2015-8-30 21:39
标题:
早两天做了两道题,看了答案一直没想明白
1.一个是 有个选项是 C 变量一定要初始化答案是对的,但是类中成员变量不是可以不初始化的吗
2.for( 初始化条件 ; 判断条件 ; 控制方法 ) {
循环表达式
}。然后有个选项是判断条件一定会比控制方法多运行一次。答案是是正确的。(那当他是无限循环的时候,又怎么能说判断条件要比控制方法多运行一次呢)
还有如果手动终止这个程序,终止点是在哪(初始化,判断还是控制或循环体,还是随机的)。
作者:
gpw
时间:
2015-8-30 21:39
1.变量在使用之前一定要初始化,不使用可以不用初始化
作者:
zhuhuihui
时间:
2015-8-30 22:05
第一个应该是局部变量必须初始化
第二个是for循环执行步骤你没掌握,先执行判断,再执行循环体,最后在是控制。
作者:
Ci功
时间:
2015-8-30 22:20
1.成员变量会被系统默认初始化,局部变量没这功能。
所以,静态成员变量和局部变量都需要我们自己初始化。
2,for循环,执行过程: 初始化,-->(判断条件-->循环体-->控制条件)*n-->判断,不满足条件,结束循环。所以判断多一次,无限循环,不是正常情况,不考虑,。
3.终止点应该是随机的。java中代码是一行一行执行的,手动停止,代码就会停止在这一行。
作者:
gpw
时间:
2015-8-30 22:25
2.楼主有点钻牛角尖了,正常情况下,判断条件比控制条件多执行一次
作者:
铁蛋
时间:
2015-8-31 00:25
先判断在执行接着控制语句,再判断→ →循环体→ →控制语句,再判断,失败退出循环,你数数
我是雷锋
作者:
yaochaoyang
时间:
2015-8-31 09:58
成员变量系统默认初始化,if语句是先判断在循环接着控制,在看是否满足判断条件
作者:
肖天长
时间:
2015-8-31 11:07
1,成员变量可初始化也可以不初始化,看需求。
作者:
肖天长
时间:
2015-8-31 11:10
2,循环是先初始化条件,再判断条件,如果条件满足了,控制方法就不会再执行了,所以至少会比控制多执行一次
作者:
zhangcheng0403
时间:
2015-8-31 13:53
1、声明变量,只是声明了变量类型,如果对没有初始化的变量直接操作,如果变量没有被初始化很容易出现空指针异常。所以成员位和局部位置的变量都应该被初始化。
2、for循环只需你给的步骤是,最新初始化控制变量,即“初始化条件,然后是“判断条件”,接下来是“循环表达式”,最后是控制方法。即使手中终止也只能在循环表达式中手动跳出循环,无法在控制方法这一步跳出,如果执行了控制方法语句,就一定会执行下一次的判断条件。所以永远都是判断条件比控制方法多一次。
作者:
zhanglang
时间:
2015-8-31 17:28
为什么都认为,非正常情况不考虑呢,难道你们做事都只考虑正常情况的。难道你们做开发也只考虑正常情况就可以了吗?既然有这种存在,那就有他存在的意义。一扇门,一扇窗,难道只要考虑门可以进人吗》?
作者:
梧桐叶落
时间:
2015-8-31 21:00
本帖最后由 梧桐叶落 于 2015-8-31 21:06 编辑
1.类中的成员变量在执行的时候会被默认初始化的。
2.for执行的顺序是 定义变量初始化, 进行判断(true时执行控制语句)再进行判断(false是循环结束,控制语句不再执行),所有判断语句比控制语句多执行一次。在无限循环的时候,判断语句和控制语句的执行次数都是无限次,考虑这个问题没有意义吧。
作者:
BlackHorse001
时间:
2015-9-1 08:32
for一般都是方法体里定义的,所以啊,C肯定是局部变量,所以啊,必须手动赋值初始化,而你说的中断循环,定义一个if条件里面来个return就行了
作者:
李国峰
时间:
2015-9-1 22:09
for 循环这个问题 我也是一直很纠结 主要的地方就是 循环的嵌套 但是你这问题 有点意思,主要好像是不知道判断条件比循环多一次,这个很简单 就是最后输出 是经过最后一次判断得出循环不成立 才成使循环终止也就是说判断要比内部循环多一次,至于那个无限循环没看懂!!!
作者:
xiaoxiaofei
时间:
2015-9-4 01:28
不会啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
作者:
纳木错的程序猿
时间:
2015-9-4 08:43
学习了,之前总是有点不太理解for循环的深层含义。
作者:
水果牛牛
时间:
2015-9-9 22:55
做题嘛,有的时候出题人会跟你玩文字游戏,有的时候出题人又不玩了,所以题目要你了解的就是正常循环的过程而已,不要斤斤计较了,当然非正常情况下判断不会比控制多一次,这是可能的,你知道就好。没准碰到其他的题目,答案又不一样了。
作者:
1191065242
时间:
2016-5-1 19:26
1.如果你是成员变量他是有默认初始值的所以你没自己赋值,系统会自动给你赋值,但是如果是局部变量系统无法给你默认初始化赋值所以必须自己手动赋值才能使用
2.不管你是无限循环都最后都是依据判断条件,所以最后一句代码都是执行判断条件的,还有如果你要终止程序的话只能在循环表达式中,这样你就不会执行控制方法所以判断条件还是比控制方法多一次
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2