保捱科技网
您的当前位置:首页java错误

java错误

来源:保捱科技网
1. 主类与文件名不同

仔细检查主类与文件名是否相同,注意:大小写敏感。

2. 没有main方法

主类一般需要定义一个main方法,程序就从这里开始执行。Java的方法必有其它代码的调用才能获得执行的机会。main方法比较特殊,它不是其它代码调用的,而是由java虚拟机直接调用的。

注意,main的返回值和参数必须定义正确。

3. 分号错误

if(...); {

...

}

是大家常遇到的错误,这个句子在语法上是合理的,但逻辑不通。for循环也可能遇到类似的误写。

4. 标识符约定

java的标识符要求:只能使用字母和数字和下划线和美元符号。字符中不许有空格。不能以数字开始。字母中本来可以使用中文的,但建议尽量使用西文或者拼音。

标识符包括:包名,变量名,方法名,类名等

5. 忘记写在方法中

所有的语句(定义变量除外)都要写在方法中,而不是直接写在类里。初学者很容易忘记这一点。并且编译器给出的错误信息是十分奇怪的说法。毕竟它只是机器,只按照既定的步骤去执行。这情况就好比你把小猫当作苹果,放到削皮机上去加工一样。

6. 加号的问题

关于加号,java中是这样规定的:如果是两个数字相加,则把它们求和。如果是两个串相加,则把它们连接。如果是一个串加一个数字,把它们连接。

7. 大括号问题

if语句,或者else语句或者for语句等,最好加一个大括号,哪怕只有一条语句在其中。这是为了防止今后修改程序的时候,因为增加语句而忘记加大括号。不加大括号在语法上是正确的,但逻辑有问题。

8. 数组的下标越界

这是个十分常见的错误。数组的下标从0到个数减1。

9. 空引用错误

最常发生的错误之一。

一个对象定义了,却没有真正的对象与之相关联。

10. 死循环错误

while循环中没有改变控制变量的值,或者没有能够退出的语句。

11. 变量使用域

初学者容易产生这个错误。在一个方法中定义的变量,不能在其它方法中引用。因为这个变量是在局限于这个方法的局部变量。

在for的初始化语句中定义的变量,只能在循环体内使用,它的作用区域更小。 在try块中定义的变量不能在try块外引用,它的作用域只在try内。

12. switch语句忘记了break

常见错误之一。每个case必须有个break,才结束处理,否则又继续执行下边的case语句了。不写break不会导致语法错误,但逻辑可能不对。

13. 有返回值的方法忘记了写返回值

这多是由于在该方法中有选择或者循环语句造成的。因为我们只把注意力集中在某个条件的出口的返回上了,而忽略了某个“偏僻”的路径可能忘记了返回。

14. 在方法中定义与参数同名的变量

方法中可以使用的变量包括自己定义的局部变量,和参数送进来的变量。这些变量的名字互相都不可以重复。

15. 数组定义错误

由于受到c语言的影响,数组定义为类似:String s[12] = ...的形式是错的。java中的数组是对象,而c中的数组是实体变量。java的定义形式:String[] s = ...或者 String s[ ] = ..,在定义的时候,方括号永远是空的。

16. 如果定义了有参构造,缺省的无参构造就失效了

我们写一个类,自己没有定义构造函数,这时候系统提供一个缺省的构造函数。如果我们提供了一个有参的构造函数,系统就把原来提供的无参构造收回了。我们要想用,只能自己再定义一个无参的构造形式。

17. 在静态方法中使用this引用

静态方法就是不需要对象就可以执行的方法。因而它是没有this引用的。this引用就是方法执行在哪个对象上。静态方法不是在某个对象上执行的。

18.

数组是length,字符串是length()

数组的长度和字符串的长度有微妙区别。字符串调用的是方法,数组的是属性。

19. 声称实现接口,却没有覆盖接口中的方法

常见的问题是,对接口中的方法的拼写或者参数出现错误,导致编译器抱怨说:没有覆盖接口中的某某方法。

因篇幅问题不能全部显示,请点此查看更多更全内容