public class Sum
{
public static void main(String args[])
{ int s=0;
for(int i=1;i<=100;i++)

s+=i;
System.out.println("sum="+s);
}
}
s=0 为何不能定义在for里边,有点不理解。

解决方案 »

  1.   

    定义在for里面的话,每次循环不就都归0了吗?
      

  2.   

    [Quote=引用楼主 zixiakoma 的帖子:]
    public class Sum 

    public static void main(String args[]) 
    {  
    for(int i=1;i <=100;i++) 
    int s=0; //定义在这里
    s+=i; 
    System.out.println("sum="+s); 

      

  3.   

    因为for循环里的语句每次循环时都会执行,如果你把int s=0 放在里面,不就每次都会把重新声明定义为0了吗?那你后面的s+=i只会是i的值,而得不到i相加的值
      

  4.   

    不是,全局变量就是位于整个类都可以访问,而局部变量则是在某个方法内所声明的变量,它的作用只在于这个方法。如:
    class test{
     int i; //全局变量
     public test(){
     }
     void jubu(){
       int j; //局部变量
     }
    }