黑马程序员技术交流社区

标题: 关于while循环 [打印本页]

作者: a_good    时间: 2014-6-15 23:24
标题: 关于while循环
自己在写循环的时候 发现条件和 循环里面不能定义类型           while(( String s=br.readLine())!=null)
难道java不给这样吗  要是我真的只想他的作用域就在 while里面怎么办
作者: java木    时间: 2014-6-15 23:35
for循环里的变量可以定义在for语句里的。因为它的初始语句只执行性一次。如果在while循环的条件判断语句里定义变量,那是极其浪费内存的,判断条件每循环一次就会执行一次,就会再创建一个对象。再说你在()里定义变量,
那你还能控制该对象吗?对象会不断的被创建出来。
作者: 黎志勇    时间: 2014-6-15 23:51
就算可以,也不建议放在那里吧,每次执行一次循环就创建一个对象,多占内存,效率得多低。
作者: a_good    时间: 2014-6-16 12:56
java木 发表于 2014-6-15 23:35
for循环里的变量可以定义在for语句里的。因为它的初始语句只执行性一次。如果在while循环的条件判断语句里 ...

可是我再while里面的一个If条件句里面定义一个StringBuilder也不行啊   
作者: a_good    时间: 2014-6-16 12:58
黎志勇 发表于 2014-6-15 23:51
就算可以,也不建议放在那里吧,每次执行一次循环就创建一个对象,多占内存,效率得多低。 ...

放下面也是每次循环就会执行啊  
作者: crazystraw    时间: 2014-6-16 13:27
又学习到了,以前没想过这个问题……
作者: xp8812    时间: 2014-6-16 13:32
这个问题很有让我学习到了
作者: java木    时间: 2014-6-17 03:13
放下面?你是指在条件判断语句下面?那是为什么?要是必须那样那也没办法了。我只是说用for循环会比较节省内存。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2