在传智学习一周有余,作为一个初学者,遇到编译中常见的问题这是一件好事,因为这是经验的累积。其实任何语言的学习不仅仅只是会用,而且在运用的时候还要能解决一些常见的错误,下面就把我这段时间遇到的一些编译错误稍作总结,供大家参考!
问题1:'java'不是内部或外部命令,也不是可运行程序或批处理文件。
解决方法:设置path环境变量。
问题2:cannot read: aaa.java
原因:可能是隐藏了已知文件类型的扩展名
问题3:Exception in thread "main" java.lang.UnsupportedClassVersionError: Demo
原因:类文件名写错或者类文件不在当前路径下面或者不在classpath指定的路径下面。
问题4:Exception in thread "main" java.lang.NoSuchMethodError: main
原因:当前类没有main这个方法
问题5:Exception in thread "main" java.lang.NoClassDefFoundError: hello
出现了这样一个问题,它代表的是找不到hello这个class文件
问题6: java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话) 问题7:java.lang.arrayindexoutofboundsexception 这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。 |