学生必看Java常见的错误及避免方法
Java常见的错误及避免方法
1....“Expected”
当代码中缺少某些东西时,会发生此错误。通常是因为缺少分号或右括号。
通常,此错误消息不会精确问题的确切位置,为了找到错误:确保所有的左括号都有一个对应的右括号。
在查看指示的Java代码行之前顺便看看行。此eJava软件错误没有被编译器注意到,直到在代码中更深层次地看。
有时一个字符,如一个左括号,并不应该放在Java代码的原先位置。所以开发人员没有防止一个右括号来平衡括号
2." Unclosed String Literal
如果字符串文字结束时没有引号的话,会创建“Unclosed String Literal” 的错误信息,并且消息将显示与错误相同的行上。Literal 是值的源代码通常。这种情况发生在:字符串文字不以引号继展。这很容易纠正,加上所需的引号,闭合字符串文字即可。
字符串文字扩展超过一行。长字符串可以分解成字符串文字,并加上加号(“+”)。。作为字符串文字一部分的引号不通过反斜杠(“”) 进行转义。
3. “ llegal Start of an Expression
出现“Illengal Start of an Expression”错误的原因有很多。因此名列不太有用的错误消息之一。有些开发者甚至认为这是由坏的代码造成的。
。通常,创建表达式是为了生成新的值或为变量分配值。编译器期望找到表达式,但因为语法不符合预期而找不到表达式。在这些语句中就可以发现此错误
4."Cannot Find Symbol”
Java中的所有标识符都需要在被使用之前进行声明。发生错误的原因在于编译代码时,编译器不明白标识符的含义。
可能收到“Cannot Find Symbol”信息的原因有很多:
·标识符声明时的拼写可能在代码中使用时的拼写不同。
变量从未被声明。变量使用时与声明未在同一范围内类没有被导入
5.“Public Class XXX Should Be in File
当 XXX类和Java程序文件名不匹配时,会发生“Public Class XXX Should Be in File” 消息。只有当类和Java文件相同时,代码才会被编译:为解决这个问题:。类和文件命名相同。确保两名称的情况一致。
6.“Incompatible Types
“Incompatible Types”是指语句尝试将变量与类型表达式配对时发生的逻辑错误。通常会在代码尝试将文本字符串放入到整型中时出现,反之亦然。这并非Java语法错误。
当编译器给出“Incompatible Types”消息时,就不是简单修复可以摆平的了:。有可以转换类型的函数。开发人员可能需要更改代码预期的功能。
7. “Invalid Method Declaration;Return TypeRequired
此Java软件错误消息表示方法签名中未明确声明的方法的返回类型。
有若干途径会触发“nalid Method
Declaration;Return Type Required”错误:。忘记声明类型
如果方法没有返回值,那么需要将“void”声明为方法签名中的类型
构造函数名称不需要声明类型。但是,如果构造函数名称中存在错误,那么编译器将会把构造函数视为没有制定类型的方法
8.“Method <X> in Class <Y> Cannnot BeApplied to Given Types
它阐明了方法签名正在调照错误的参数。调用的方法期待方法声明中定义的某些参数。检查方法声明并仔细调用,以确保它们是兼容的。
9.“ Missing Return Statement”
当一个方法没有返回语句时,就会出现“MissingReturn Statement” 的消息。每个返回值(非void 类型)的方法都必须有一个字面上返回该值的语句,以便在方法之外调用它。
编译器抛出“Missing Return Statement”消息的原因有若干:返回语句由干错误被省略。
该方法没有返回任何值,但类型void 在方法签名中未声明
10.“Possible Loss of Precision
当更多的信息被分配给一个变量而超过它的容量,就会发生“Possible Loss Precision” 消息。如果出现这种情况,那么碎片就会被扔掉。如果这样没有关系,那么代码需要将变量显示声明为新的类型。“Possible Loss of Precision”通常发生在:尝试为整数数据类型的变量分配一个实数尝试为整数数据类型的变量分配一个double。