java语言

Java语言中的常见错误

时间:2024-10-01 00:26:06 java语言 我要投稿
  • 相关推荐

Java语言中的常见错误

  导语:Java语言虽然功能强大,使用方便、灵活,但是要学好、用好Java语言并不容易。下面就由小编为大家介绍一下Java语言中的常见错误,欢迎大家阅读!

Java语言中的常见错误

  1编译错误

  它是指在编写程序时,输入错误的关键字或者标识符、遗漏标点符号及赋值时数据类型不匹配等错误。

  大小写字母混淆:Java语言是严格区分大小写的计算机编程语言。类、方法、变量的名称必须前后完全一致,否则将出现无法解析符号的错误。

  使用末声明的变量:在有些高级语言中,变量不需要声明,就可以直接使用。而Java语言规定在使用任何变量前必须先声明该变量的类型。如果使用末声明的变量,编译程序时会出现无法解析符号的错误。(cannot resolve symbol)

  使用末初始化的变量:虽然声明了变量,但是在末赋初值前就进行计算或者打印输出等非赋值操作。这种情况下,会显示变量可能末被初始化的错误提示信息(might mot have been initialized)。

  语句后面遗漏分号:Java语言规定每条语句的末尾必须有分号,也就是说分号是两条语句之间的分隔点。如果某条语句的分号没有输入,则程序编译时就会出现错误。在一般情况下,错误提示会正确指出程序中缺少分号的位置。但是如果语句比较复杂,错误提示指出的位置可能并不是实际缺少分号的位置,编程者必须仔细查看程序,自行找出错误的位置。

  数据类型与变量类型不符:当数据类型与变量类型不符时,如果Java语言可以自行转换的话,则不会给出错误信息,但是运行结果将很可能与编程者意愿不符。如果Java语言不可以自行转换的话,则会显示错误。

  小括号不配对:小括号左右个数不等的现象经常出现在if 语句和while语句的条件表达式中。当表达式结构复杂,必须使用多层小括号时,很容易出现这类错误。因此,建议编程者养成先输入一对小括号,然后再在其中输入内容的好习惯。

  2运行错误

  它是指在Java程序执行时因非法操作或者操作失败等产生的错误。这些错误在编译时一般是无法发现的,产生运行错误时,程序会被中断,并显示错误信息。下面列出常见的运行错误。

  数组下标越界是初学者常犯的一个错误。Java语言规定数组的下标由0开始到数组元素个数减1为止。(java.long.ArrayIndexOutOfBounds Exception)

  除数为零:Java语言不允许计算过程中出现除数为零的情况,因此,在编写程序时,一定要注意计算过程中的中间值。如果出现除数为零的情况,则程序会被中断并显示除数为0的错误信息。(ArithmeticException:/by zero)

  运行错误通常比较隐蔽,而且会造成程序中断甚至系统死机等现象。为此Java语言提供处理这类错误的方法,帮助编程者避免程序中断等现象的发生。

  3逻辑错误

  程序运行后,没有得到预期的结果,这说明程序存在逻辑错误。这类错误从语法上来说是有效的,只是程序逻辑上存在缺陷。例如,使用的变量类型不正确、语句次序错误、循环变量的初值和终值不正确等。通常,逻辑错误不会产生错误提示信息,所以错误较难排除,需要编程者仔细地分析整个程序的运行步骤。

  超出数据类型的数值范围:在Java语言中,每种数据类型都有其数值范围,一旦数据超出了数据类型的取值范围,就会造成计算结果的错误。

  将等于关系符号写成“=”,在许多高级语言和数据表达式中,用“=”符号来表示相等的关系,而在Java语言中,该符号是赋值运算符号,“==”才是关系运算符号。在一般情况下,只要比较的数据类型不是boolean类型,Java语言可以在编译程序的时候发现该错误,但是如果进行比较的两个数据通信的类型本身就是boolean类型,Java语言可以在编译程序的时候发现该错误,但是如果进行比较的两个数据的类型本身就是boolean类型,则很难发现该错误,最终造成程序出现逻辑错误。

  例如:

  Boolean boo=false;

  if(boo=true)System.out.println(“yes”);

  在上面的if语句中表达式,Java语言编译系统将boo=true作为赋值表达式进行处理,也就是说先将true赋值给变量boo,然后再判断boo的值是否为true,如果为true,则执行打印语句,否则继续执行下面的语句。很显然,无论变量boo之前的值是什么,该表达式的值永远是true,所以打印语句一定会被执行。

  这种错误在编译时是检查不出来的,但运行结果往往是错的。而且由于习惯的影响,编程者自己也很难发现。

  语句体忘记加大括号:大括号在Java程序中具有非常重要的位置,当语句体的语句不止一条时,必须使用大括号,否则很容易出现错误。例如:下面的语句本意是要计算1+2+3+…+100的和,但是因为忘记了使用大括号将语句体括起来,所以实际上只是重复执行了sum=sum+i;语句而且进入了死循环状态。

  int sum=0,i=1;

  while(i<=100)

  sum=sum+I;

  i++;

  为了避免这类错误的发生,最好在任何情况下都使用大括号将语句体括起来。

【Java语言中的常见错误】相关文章:

java struts常见错误以及原因解析08-23

浅谈Java语言中static的作用08-10

Java语言中substr和substring的区别07-12

常见的Java问题与解析10-21

java的常见排序方法08-31

常见的Java问题与解答08-15

JAVA程序语言中的运算符10-09

Java常用的语法错误08-18

常见的Java问答题08-29

java常见的排序算法的代码09-20