计算100加到1,int a是循环变量,int sum是储存相减后的结果。
如果把sum = 100写在for语句变量初始化的括号内,如下图所示:报错:但如果把sum拿出来单独赋值,如下图,则可执行通过:问题:for(变量初始化; 条件判断; 步进) ,是不是for语句只能初始化一个变量?
PS:步进是老师自己取得名字,不管它。
如果把sum = 100写在for语句变量初始化的括号内,如下图所示:报错:但如果把sum拿出来单独赋值,如下图,则可执行通过:问题:for(变量初始化; 条件判断; 步进) ,是不是for语句只能初始化一个变量?
PS:步进是老师自己取得名字,不管它。
for (int a = 100, sum = 0; a >= 1; a--) {
sum += a;
System.out.println(sum);
}你如果这么写肯定不会报错的,发现区别了么,sum的作用域是循环体内,你在循环体内可以任意的使用它,但是如果出了循环体就好比你问的那样,sum就相当于是一个未声明的对象了。
而你下面那段代码刚好是在循环体外声明的sum,所以作用域为方法体内,所以就可以使用了
如果在循环体内声明,出了循环体不 会见效!
for()语句中可以有多个变量,但是出了for(){}之外就不能用了,
而int sum = 0;写在for()语句之前相当于sum的作用域是整个main方法内部
{
}是完全可以的。但是,int i=0;
for(i = 1,int j = 0;i < 100;i++)
{
]就是不可以的。可以理解为一种规范吧。希望lz的问题得到解决。
{
public static void main(String [] args)
{
for(int i=100, sum=0;i>=1;i--)
{
sum+=i;System.out.println(sum);
}}
}
这样就行了,