Errores semánticos en java

Muchas personas encuentran que la diferencia entre los errores semánticos y sintácticos (sintaxis) errores en el código de Java difícil de entender, pero son diferentes. Se puede ver un error semántico cuando la sintaxis de su código es correcto, pero el uso del código no es correcto.

El error semántico más común es aquella en la que el código utiliza una variable que no se ha inicializado correctamente. Afortunadamente, el compilador encuentra este error semántico particular, en la mayoría de los casos. Aquí está una lista de otros errores semánticos comunes que usted necesita saber acerca de.

  • El uso de un operador que no se aplica: En algunas situaciones, es posible que trate de usar un operador que no se aplica a la variable o las variables en cuestión. Por ejemplo, no se puede utilizar el operador de incremento (++) con una variable booleana.

    Las nuevas versiones de Java se han convertido en expertos en encontrar este error, pero aún se pueden encontrar dificultades para averiguar precisamente por qué se produce un error cuando se utiliza el operador de mal en algunos casos. Por ejemplo, MyObj1 == MyObj2 no comparará los dos objetos - el operador de igualdad sólo funciona con tipos primitivos.

  • El uso de tipos incompatibles: Este tipo de error semántico puede ser complicado porque la bandera compilador algunos errores y no otros. Por ejemplo, si intenta asignar un flotador a una variable int, el compilador muestra un mensaje de error.

    Por otro lado, si asigna un entero a una variable float, el compilador realiza una conversión automática a la int para que sea un flotador. El problema de este segundo escenario es que puede introducir en silencio errores en el código, especialmente si realmente tenía intención de utilizar un flotador.

  • La pérdida de precisión durante una conversión: A veces se puede aplicar fundición incorrectamente. Por ejemplo, echando un flotador a un int funciona bien, pero en la pérdida de la parte decimal del número.

    Esta pérdida de precisión puede afectar a la salida de su aplicación de manera inesperada y causar la salida para reflejar un valor distinto del que esperaba. El compilador no encuentra este tipo de error, ya que han aplicado específicamente un yeso para la variable y el compilador espera que sabes lo que estás haciendo.

  • Realización de un elenco imposible: Es posible convertir entre diferentes tipos en Java. Sin embargo, no importa lo mucho que le gustaría convertir un valor booleano en un int, Java no dejar que lo hagas. El concepto de llevar a cabo el reparto es sintácticamente correcta, pero usted está aplicando de forma incorrecta, haciendo de este un error semántico que el compilador siempre atrapa.

  • La aplicación de alcance incorrectamente: Cualquier variable se declara dentro de un método tiene el mismo alcance - visibilidad a otras partes de la aplicación, es decir - como el método. En consecuencia, no se puede declarar un int estática privada variable dentro de un método. En su lugar, debe definir la variable global como éste:

    public class PrivateVar {// Esta declaración works.private static int PrivateInt = 3-public static void main (String [] args) {// Esta declaración no work.private static int PrivateInt = 3}}

Estos son los problemas más comunes que usted debe buscar en el código. Errores semánticos tienden a ser más difícil de encontrar que los errores sintácticos, pero no tan duro como errores lógicos.




» » » » Errores semánticos en java