Los errores lógicos en java
Los errores lógicos en programación Java puede ser extremadamente difícil de encontrar, ya que no reflejan ningún tipo de problema de codificación o un error en el uso de los elementos del lenguaje Java. El código funciona perfectamente como está escrito - sólo no se está realizando la tarea que espera que éste realice.
Como resultado, los errores lógicos pueden ser los errores más difíciles de encontrar. ¡Tienes que gastar tiempo en ir a través de su código en busca de una razón precisa para el error. He aquí una lista de los errores lógicos comunes que enfrentan los desarrolladores de Java:
El uso de precedencia de operadores incorrecto: El orden en que Java interpreta los operadores es importante. Aplicaciones a menudo producen un resultado erróneo porque el desarrollador no incluyó paréntesis en los lugares correctos.
Por ejemplo, el siguiente ejemplo produce salidas de 11, 13, 9, 8 y de las cuatro variables, todo debido a la ubicación (o falta) de los paréntesis.
public class OperatorError {main (String [] args) void estáticos públicos {// Crear algunas variables.int MyVar1 = 5 + 4 * 3/2-int MiVar2 = (5 + 4) * 3/2-int MyVar3 = (5 + 4) * (3/2) -INT MyVar4 = (5 + (4 * 3)) / 2 - // salida del result.System.out.println ("MyVar1:" + MyVar1 + " nMyVar2:" + MiVar2 + " nMyVar3:" + MyVar3 + " nMyVar4:" + MyVar4) -}}
Definición de la cuenta equivocada: Posiblemente el error lógico más común está contando cosas incorrectamente. La gente está acostumbrada a las cuentas que comienzan con 1, y los ordenadores suelen comenzar el recuento con 0. Por lo tanto, no es raro encontrar que las aplicaciones son, precisamente, uno fuera en la realización de una tarea, si esa tarea se está ejecutando un bucle o trabajar con una colección de artículos.
Suponiendo una condición es verdadera cuando no lo es: Los desarrolladores suelen leer la declaración se utiliza para definir una condición y asumir que la afirmación es verdadera (o falsa) sin verificar la lógica de la declaración.
El uso de una declaración o cuando realmente significaba utilizar una y declaración también puede causar problemas. La lógica empleada para tomar decisiones hace que muchos desarrolladores, incluso los desarrolladores con experiencia, un montón de problemas. Siempre verifique sus supuestos de sentencias condicionales.
Basándose en los números de punto flotante para trabajos de precisión: No se puede asumir que los números de punto flotante entregará un número específico. Esto significa que no se puede comprobar un número de punto flotante por la igualdad a cualquier valor específico - en su lugar debe utilizar un rango de valores para realizar la comprobación. Números de punto flotante son siempre una aproximación en Java.
Basándose en los valores enteros para medir valores: Los enteros son grandes para el recuento de artículos porque son precisos. Sin embargo, muchas de las operaciones matemáticas de enteros crean resultados imprecisos. Esto es especialmente cierto para la división, debido a que el resto siempre se dejó. (El número se redondea hacia abajo.) Utilice los valores de punto o el tipo de objeto BigDecimal flotante cuando necesite medir algo y la precisión es importante.
Perder un punto y coma: Es posible crear código Java que compila y funciona perfectamente bien a pesar de tener un punto y coma en el lugar equivocado. He aquí un ejemplo:
public class ForLoopError {main (String [] args) void estáticos públicos {// Declarar el variable.int Conde - // Cree el loop.for (Count = 1- Countlt; = 10 Recuento ++) - {// Salida el resultado .System.out.println ("Contador es" + Count) -}}}
Observe que el punto y coma aparece inmediatamente después de la sentencia for, en lugar de después de que el bloque de código como debería. En lugar de imprimir valores individuales de Conde, este ejemplo imprime una sola frase que dice Count es 11.