java 提示语法错误_java常见语法错误

e2e94c42e0276084c14dd33f22dc0768.png

java常见语法错误

语法错误就是不符合语法规则出现的问题,比如说你拿两个字符串进行乘法运算,当然就不对了,就是通常所说的病句。

下面为各位整理了java中常见的语法错误,希望对java初学者有所帮助。

1.变量可能未初始化

错误提示:Abc.java:9: variable i might not have been initialized

System.out.println(i);

中文说明:变量i可能没有赋值就使用了。

例子说明:int i;

System.out.println(i);

2.变量重复定义

错误提示:Abc.java:9: i is already defined in main(java.lang.String[])

int i = 2;

中文说明:变量重复定义了

例子说明:int i = 1;

int i = 2;

3. 找不到符号:Test6.java:26: cannot find symbol

symbol : variable j

location: class Test6

if(j < 0) {

4. 找不到类的错误Main.java:4: cannot find symbol

symbol : class T1

location: class Main

T1 a = new T1();

5. 找不到方法的错误Main.java:5: cannot find symbol

symbol : method a()

location: class T

a.a();

6. 找不到类

错误提示Test.java:1: class Test1 is public, should be declared in a file named Test1.java

public class Test1 {

中文说明 test1是公共的,必须在文件中声明

例子说明

建一个文件为Test;在工具中打开这样写 public class Test11 {};就会报这个错误

7 找不到这个类(类名跟文件名不一致)NoClassDefFoundError: asa (wrong name: ASA)

8. 数组下标越界java.lang.ArrayIndexOutOfBoundsException: 1

at Test2.test2(Test2.java:30)

at Test2.main(Test2.java:6)

9. 字符串下标越界java.lang.StringIndexOutOfBoundsException: String index out of range: 6

at java.lang.String.charAt(String.java:558)

at Test2.test3(Test2.java:41)

at Test2.main(Test2.java:7)

10. 空指向Exception in thread "main" java.lang.NullPointerException

at Next.main(Next.java:31)

11空返回值

错误提示Test1.java:54: 'void' type not allowed here

System.out.println(a5.deleteOnExit());

中文说明;此处不允许使用void返回值

例子说明 如果声明一个void的方法,那就不能直接输出来Public static void edit() {}

System.out.println(Test.edit());

12 缺少返回值asa.java:8: missing return statement

int fan(){}

^

1 error

13 没有返回值的方法中不需要返回值asa.java:10: cannot return a value from method whose result type is void

return a;

^

1 error

14. 引用的方法入参不对Next.java:66: cannot find symbol

symbol : method createTempFile(java.lang.String,java.lang.String,java.lang.String)

location: class java.io.File

File ll = f.createTempFile("let","java","aaa");

15. .缺少形参del() in sms.service.Service cannot be applied to (int)

16.无效的方法声明(需要返回类型)invalid method declaration; return type required

public byteValue(){

17. 要求传入的是数组,却传入了字符串array required, but java.lang.String found

^

18 找不到构造方法Main.java:4: cannot find symbol

symbol : constructor T()

location: class T

new T();

19、数字格式化异常Exception in thread "main" java.lang.NumberFormatException: null 20. .不兼容的类型

错误提示Test1.java:41: incompatible types

found : java.lang.String[]

required: java.io.File[]

File [] a3 = a11.list();

中文说明 不兼容的类型

20 Integer number too large 定义值(整数)过大

21. 非静态方法不能在静态上下文中引用non-static method cannot be referenced from a static context

22.不是静态方法而用静态方式调用(类名。方法)Main.java:5: non-static method fun1() cannot be referenced from a static context

Test.fun1();

23静态访问非静态(变量)Test.java:5: non-static variable a cannot be referenced from a static context

a = 1000;

24. 静态访问非静态(方法)Test.java:6: non-static method fun1() cannot be referenced from a static context

fun1(); // 静态的不能调用非静

25.continue outside of loop (将continue放在for循环外的时候出现的错误报告)

26.illegal start of expression 违反规则的表达(将for循环中第二表达放置于for循环外或内部时出现的错误报告)

27 asa.java:6: unreachable statement 不能到达的语句(语句放于continue或break后出

现不能到达,及continue和break后不能有语句)

28 break置于循环语句外asa.java:8: break outside switch or loop

break;

^

1 error

29- 标识符错误(标识符不合法);asa.java:2: expected

int %%;

^

1 error

30. 没找到方法体,或声明为抽象的(方法)

MyAbstract.java:6: missing method body, or declare abstract

31. 这个类不是抽象类 或者没有覆盖 重写方法fun1() 有抽象的方法的就必须是抽象类MyAbstract.java:1: MyAdstract is not abstract and does not override abstract method fun1() in MyAdstract

32. Myabstract 它是属于抽象类的,不能产生对象。Main.java:6: Myabstract is abstract; cannot be instantiated

33. 接口的方法不能有方法体MyInterface.java:2: interface methods cannot have body

34, .它是属于抽象类的,不能产生实体Myabstract is abstract; cannot be instantiated

35. 接口的方法不能有方法体interface methods cannot have body

36. 此处不允许使用static修饰asa.java:3: modifier static not allowed here

public static void main(String []args){

^ ^

37—不能改变的类型(String 型 不能转换成Int型)asa.java:4: inconvertible types

found : java.lang.String

required: int

int b=(int)a;

^

1 error

38.possible loss of precision found: long ;required:byte ; var=varlong 可能造成精度损失(在整型较大的转换成较小的情况下会造成损失,小的转大的,则不会造成损失。)

39分隔符异常asa.java:5: ';' expected

40 括号异常asa.java:8: '}' expected

41. 应用程序试图创建大小为负的数组。java.lang.NegativeArraySizeException

42. 出现异常的运算条件java.lang.ArithmeticException: / by zero

at Test2.test(Test2.java:16)

at Test2.main(Test2.java:5)

43抽象方法不能被final修饰(抽象类的抽象的东西一定要被继承)

44.抽象方法不能被private修饰(抽象类抽象的东西一定要被继承)

php中文网,大量的免费Java入门教程,欢迎在线学习!

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值