eclipse在你编写.java文件的时候,它会
自动编译成.class
,在该行左侧提示语法错误。
语法错误是编译期错误,
逻辑错误才是运行期错误。
语法错误是不符合语法规则出现的问题。
常见的语法错误如:
编译错误是程序在编译阶段,此时程序还没有运行,编译器根据语法规则进行检查会发现错误,并给出错误提示,运行错误就是程序在语法上没有错误,但是随着时间的推移,在程序的运行阶段发生了错误.
如数组越界了,空指针等。
语法错误是编译期错误,
逻辑错误才是运行期错误。
语法错误是不符合语法规则出现的问题。
常见的语法错误如:
- 1.变量可能未初始化
- int i;
- System.out.println(i);
- 2.变量重复定义
- int i = 1;
- int i = 2;
- 3. 找不到符号:
- if(j < 0) {
- 4. 找不到类的错误
- T1 a = new T1();
- 5. 找不到方法的错误
- a.a();
- 6. 找不到类
- 7 找不到这个类(类名跟文件名不一致)
- 8. 数组下标越界
- java.lang.ArrayIndexOutOfBoundsException
- 9. 字符串下标越界
- java.lang.StringIndexOutOfBoundsException
- 10. 空指向
- java.lang.NullPointerException
- 11空返回值
- System.out.println(a5.deleteOnExit());
- 12 缺少返回值
- 13 没有返回值的方法中不需要返回值
- 14. 引用的方法入参不对
- File ll = f.createTempFile("let","java","aaa");
- 15.缺少形参
- 16.无效的方法声明(需要返回类型)
- 17. 要求传入的是数组,却传入了字符串
- 18 找不到构造方法
- 19、数字格式化异常
- 20.不兼容的类型错误提示、
- 21.非静态方法不能在静态上下文中引用
- 22.不是静态方法而用静态方式调用(类名。方法)
- 23静态访问非静态(变量)
- 24. 静态访问非静态(方法)
- 25.continue outside of loop (将continue放在for循环外的时候出现的错误报告)
- 26.illegal start of expression 违反规则的表达(将for循环中第二表达放置于for循环外或内部时出现的错误报告)
- 27.不能到达的语句(语句放于continue或break后出
- 现不能到达,及continue和break后不能有语句)
- 28.break置于循环语句外
- 29.标识符错误(标识符不合法);
- 30. 没找到方法体,或声明为抽象的(方法)
- 31. 这个类不是抽象类或者没有覆盖重写方法fun1()有抽象的方法的就必须是抽象类
- 32. Myabstract 它是属于抽象类的,不能产生对象。
- 33. 接口的方法不能有方法体
- 34.它是属于抽象类的,不能产生实体
- 35. 接口的方法不能有方法体
- 36. 此处不允许使用static修饰
- 37.不能改变的类型(String 型 不能转换成Int型)
- 38.可能造成精度损失(在整型较大的转换成较小的情况下会造成损失,小的转大的,则不会造成损失。)
- 39分隔符异常
- 40.括号异常
- 41.应用程序试图创建大小为负的数组。 java.lang.NegativeArraySizeException
- 42.出现异常的运算条件 java.lang.ArithmeticException: / by zero
- 43.抽象方法不能被final修饰(抽象类的抽象的东西一定要被继承)
- 44.抽象方法不能被private修饰(抽象类抽象的东西一定要被继承)
- 45.Integer number too large 定义值(整数)过大
编译错误是程序在编译阶段,此时程序还没有运行,编译器根据语法规则进行检查会发现错误,并给出错误提示,运行错误就是程序在语法上没有错误,但是随着时间的推移,在程序的运行阶段发生了错误.
如数组越界了,空指针等。