语法错误javac(编译),逻辑错误java(运行)

来源:互联网 发布:新手如何快速入门seo 编辑:程序博客网 时间:2024/05/21 15:49
eclipse在你编写.java文件的时候,它会自动编译成.class,在该行左侧提示语法错误。 
语法错误是编译期错误, 
逻辑错误才是运行期错误。 

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

编译错误是程序在编译阶段,此时程序还没有运行,编译器根据语法规则进行检查会发现错误,并给出错误提示,运行错误就是程序在语法上没有错误,但是随着时间的推移,在程序的运行阶段发生了错误. 
如数组越界了,空指针等。 
原创粉丝点击