黑马程序员技术交流社区
标题:
今天遇到了一个小问题,通过一段简单的代码来描述一下。
[打印本页]
作者:
夏一站
时间:
2013-6-7 21:15
标题:
今天遇到了一个小问题,通过一段简单的代码来描述一下。
简单的求和算法中
<P>public class sum {
public static void main(String[] args){
int i=0,sum=0;
for(i<=10;i++)
{
sum+=i;
}
System.out.println("1+2+3....+10=" +sum);
}
}</P>
<P>在这段代码中,并不能运行下面且看另一段基本一模一样的代码:</P>
复制代码
<P>public class sum {
public static void main(String[] args){
int i=0,sum=0;
for(;i<=10;i++)
{
sum+=i;
}
System.out.println("1+2+3....+10=" +sum);
}
}</P>
<P>在这里就能运行了。仔细研究之下。区别在于for(i<=10;i++)与for( ; i<=10;i++)。个人理解,虽然前面定义了int i=0;但是,在for里面它识别不出来。所以错误就在于此。为了避免这样错误的出现,这样写或许会更有效些for(int i=0;i<=10;i++)</P>
<P> </P>
复制代码
作者:
郭向阳
时间:
2013-6-7 22:41
for循环中的内的那俩标点就是语法规则啊,这个不能变,还有那个i变量定义在内部作用域变小,节省内存。
作者:
十字路口
时间:
2013-6-8 13:25
for(i<=10;i++)
楼主写的这个for循环,编译都通不过,肯定是不能运行的,for(; ;)里面要有两个冒号,这是语法规则,不论是c++,c,还是java都要这么写。至于楼主的理解:虽然前面定义了int i=0;但是,在for里面它识别不出来。个人认为有误,前面在main定义的int i,当然是作用在整个main方法中,for可以识别。所以只要符合语法规则for(;i<=10;i++)也是正确的,这也说明for可以识别main中定义的变量i.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2