永发信息网

java 需要标识符

答案:5  悬赏:30  手机版
解决时间 2021-04-04 06:26
  • 提问者网友:低吟詩仙的傷
  • 2021-04-03 21:46
java 需要标识符
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-04-03 23:15
写java时经常因为大意总是出现“需要标识符”这个错误,下面进行一个代码案例分析如果避免这个错误:
1、提示“需要标识符”错误如图:

2、当前Java代码,如图:

3、分析错误原因,就是在写完class后直接写了应该写在main函数里的代码了。

4、解决方法就是在写入其它代码之间,别忘了加入 public static void main(String[] args){}

全部回答
  • 1楼网友:鱼芗
  • 2021-04-04 03:16
static int x,y;
这句里就static的用法,当它修饰时,是不能被修改的,此时x和y已被默认为0,所以当重新初始化20时,就会出错。所以,学过C的你就知道的!
  • 2楼网友:蓝房子
  • 2021-04-04 02:34
在java里面 static 方法只能调用static 的变量和方法
而非静态的方法,可以调用静态的方法和变量,也可以调用非静态的方法和变量
main 方法是一个static 方法,它也只能调用static的变量和方法。
所以当 你吧 x,y前面的static取消以后,main方法就无法使用这个变量了
  • 3楼网友:何以畏孤独
  • 2021-04-04 01:44
在你的问题补充那段代码中,变量x和y是类scope的成员变量,但是非静态的,因此它们两个不能在静态的main方法里面调用,这是Java中语法的重点,就是非静态的变量或方法都不能在静态的方法中调用,而静态的方法或变量可以在静态或非静态的方法中使用!
讲到这里你也就应该会明白第一段代码为什么改成static int x=20为什么就可以运行了!
  • 4楼网友:执傲
  • 2021-04-04 00:40
我这个汗~~~啊,兄弟,x=20; 放在类空间了,用该放在方法里才对。至少放在构造函数里吧。
兄弟挣你这点儿分还真挺难的!!!!!!!!!!!!!!!!!!!
static int x=20;//在语法上严格来说属于带初值的变量声明。不是赋值语句。
不能简单地把他们理解成:
static int x; //变量声明
x=20; //变量赋值
两个语句的组合。
类结构的特点不允许在类空间中使用赋值语句(无论c++还是java),所以你分开使用会抱错。而放在一起就正常!
你后面添加的问题,就麻烦了,你该再开一个新的问题,这回就便宜你了!~
这个错误提示说的是由于你上面的声明把static去掉了,造成下面的语句int z=x+10;
也出错了。
这是因为static 声明变量的特性造成的。 static你可以理解成一个C语言里的全局变量。它是程序里唯一的。
而你去掉static, 则把x声明为一个类的属性变量。 你使用时需要通过类Scope实例来访问它的属性。
例如:
public static void main(String arg[])
{ //开始一个作用域
Scope s;
int z=s.x+10; //注意这里
System.out.println("The value of z is "+z);
}
}
所以编译器在解析源程序时,认为你少了 "s." 这么个标识符。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯