A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Test1
{
        public static void main(String[] args)
        {
                static int num;
                for(int x=12,x<=1002,x=x+10)
                {
                        num=num+x;       
                }
                System.out.print(num);
        }
}

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 加油~~

查看全部评分

22 个回复

正序浏览
执梦而行 来自手机 中级黑马 2015-3-2 23:09:53
23#
楼上正解
回复 使用道具 举报
几个错误点跟楼主解释一下啊
1.main函数本身就是static静态,只要当static静态函数调用函数外的变量时才需要将该变量定义成static,在静态函数内部是不用的。
2.for循环的格式是
for(初始化语句;判断条件;循环内部执行完后操作)
//这里用分号是因为其中每一句都是一个单独语句,程序语句结束标志是用分号的
//如果用逗号,那叫做逗号表达式,逗号表达式执行会最终执行逗号的最后一句
{
        循环执行语句;
}
3.在引用变量时必须对变量进行初始化操作,你可以先定义,后初始化。但是在引用该变量之前必须确保有一个初始化过程。
  1. class Test1
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int num = 0;
  6.                 for(int x=12;x<=1002;x=x+10)
  7.                 {
  8.                         num = num + x;        
  9.                 }
  10.                 System.out.print(num);
  11.         }
  12. }
复制代码
回复 使用道具 举报
1.static是用来修饰成员的,包括成员变量和成员函数,而这里的num是局部变量,不能被static修饰; 2.num为局部变量,而局部变量必须初始化之后才能进行运算; 3.for循环之间使用分号;隔开,而不是逗号,
回复 使用道具 举报
好久没看前面,都忘记的差不多了。看来是要多上来看看,楼主问的很好啊
回复 使用道具 举报
在类中,用static声明的成员变量为静态成员变量,或者叫做类属性、类变量。
  -- 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时,被显示初始化。
  -- 对于该类的所有对象来说,static成员变量只有一份,被该类的所有对象共享
所以static int num;应该定义在该类中所有方法的外面。
程序还有一个小错误:就是for(int x=12,x<=1002,x=x+10)中表达式之间用分号(:),而不是逗号(,)
正确程序:
public class test {
        static int num;
        public static void main(String[] args) {
               
        for(int x=12;x<=1002;x=x+10)
        {
                num=num+x;        
        }
        System.out.print(num);
        }

}

评分

参与人数 1黑马币 +2 收起 理由
万合天宜 + 2 很给力!

查看全部评分

回复 使用道具 举报
int 前面不该用static,且num没赋值,编译报错
回复 使用道具 举报
局部变量没有赋值是不能参与运算的,还有for循环中初始化表达式和循环条件表达式以及循环后操作表达式中间是用分号隔开的,而且静态static不是随意使用的,只有是共性的数据才可以使用!
回复 使用道具 举报
逗号 换分号,num初始化赋值
回复 使用道具 举报
错误有俩,一是定义num没有初始化值,二是for语句里面用的是;不是,
回复 使用道具 举报
num不能被static修饰;必须初始化才能进行运算;for中表达式必须用;间隔
回复 使用道具 举报
Hsidar 来自手机 中级黑马 2015-3-2 10:18:30
13#
for循环的三条语句是用;分隔的
回复 使用道具 举报
static int num;应该改成int num;
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-3-2 08:59:06
11#
都是正解啊。。。
回复 使用道具 举报
static  不能修饰局部变量      for用;
回复 使用道具 举报
num赋初始值,static去掉,for循环用;而不是,
回复 使用道具 举报
1.static是用来修饰成员的,包括成员变量和成员函数,而这里的num是局部变量,不能被static修饰;
2.num为局部变量,而局部变量必须初始化之后才能进行运算;
3.for循环之间使用分号;隔开,而不是逗号,
回复 使用道具 举报
1.局部变量num 不能用static修饰。 2.for循环的 初始化语句,判断条件语句, 条件控制语句 用该用; 隔开.
回复 使用道具 举报
num必须初始化才能运算
回复 使用道具 举报
  1. public class test
  2. {
  3.         static int num =0;
  4.         public static void main(String[] args)
  5.         {
  6.                //static int num=0;//static不能用于修饰局部变量,
  7.                                                           //因为static修饰的东西属于类,而方法中的定义的变量只能属于本方法。
  8.                 for(int x=12;x<=1002;x=x+10)
  9.                 {
  10.                         num=num+x;        
  11.                 }
  12.                 System.out.print(num);
  13.         }
  14. }
复制代码

static修饰的东西是属于整个类所有,而你在一个方法中定义一个变量,只能在本方法中有效,不能用static修饰。
而且你的代码中,for循环括号内的语句要用“;”隔开,不能用“,”。

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1 赞一个!

查看全部评分

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马