Erros lógicos em Java

erros lógicos na programação Java pode ser extremamente difícil de encontrar, porque eles não refletem qualquer tipo de problema de codificação ou um erro na utilização de elementos de linguagem Java. O código funciona perfeitamente como está escrito - ele só não está realizando a tarefa que você esperava que executar.

Como resultado, os erros lógicos podem ser os mais difíceis de encontrar erros. Você precisa gastar tempo a passar por seu código à procura de uma razão precisa para o erro. Aqui está uma lista de erros lógicos comuns que os desenvolvedores Java encontrar:

  • Usando a precedência do operador incorreto: A ordem na qual Java interpreta operadores é importante. Aplicações muitas vezes produzem o resultado errado, porque o desenvolvedor não incluir parênteses nos lugares corretos.

    Por exemplo, o exemplo a seguir produz saídas de 11, 13, 9, e 8 a partir de quatro variáveis, todos devido à localização (ou a ausência) dos parênteses.

    classe pública OperatorError {public static void main (String [] args) {// Criar algum variables.int MyVar1 = 5 + 4 * 3/2-int MyVar2 = (5 + 4) * 3/2-int MyVar3 = (5 + 4) * (2/3) = -int MyVar4 (5 + (4 * 3)) / 2 - // saída do result.System.out.println ( "MyVar1:" + MyVar1 + " nMyVar2:" + MyVar2 + " nMyVar3:" + MyVar3 + " nMyVar4:" + MyVar4) -}}
  • Definindo a contagem errada: Possivelmente, o erro de lógica mais comum está contando coisas de forma incorreta. As pessoas estão acostumadas a contagem começando com 1 e computadores muitas vezes começam conta com 0. Assim, não é incomum encontrar que as aplicações são precisamente um fora na realização de uma tarefa, se essa tarefa está sendo executado um loop ou trabalhar com uma coleção de itens.

  • Assumindo uma condição é verdadeira quando não é: Desenvolvedores, muitas vezes, olhar para a declaração usada para definir uma condição e assumir que a afirmação é verdadeira (ou falsa), sem verificar a lógica da declaração.

    A utilização de uma declaração ou quando você realmente a intenção de usar um e declaração também pode causar problemas. A lógica empregada para tomar decisões faz com que muitos desenvolvedores, mesmo desenvolvedores experientes, um monte de problemas. Sempre verifique seus pressupostos para declarações condicionais.

  • Baseando-se em números de ponto flutuante para trabalhos de precisão: Você não pode presumir que os números de ponto flutuante vai entregar um número específico. Isto significa que você não pode verificar um número de ponto flutuante de igualdade com qualquer valor específico - em vez disso você deve usar um intervalo de valores para realizar a verificação. Números de ponto flutuante são sempre uma aproximação em Java.

  • Baseando-se em valores inteiros para medir valores: Inteiros são grandes para a contagem de itens, porque eles são precisos. No entanto, muitas operações matemáticas inteiros criar resultados imprecisos. Isto é especialmente verdadeiro para a divisão, porque o restante é sempre parado. (O número é arredondado para baixo). Use valores de ponto ou o tipo de objeto BigDecimal flutuante quando você precisa para medir algo e precisão é importante.

  • Misplacing um ponto e vírgula: É possível criar código Java que compila e executa muito bem, apesar de ter um ponto e vírgula no lugar errado. Aqui está um exemplo:

    classe pública ForLoopError {public static void main (String [] args) {// Declare a variable.int Contagem - // Criar o loop.for (Count = 1- Countlt; = 10 Contagem ++) - {// Output o resultado .System.out.println ( "Contagem é" + Count) -}}}

    Observe que o ponto e vírgula aparece imediatamente após a instrução for, ao invés de após o bloco de código como deveria. Em vez de imprimir valores individuais do Conde, este exemplo imprime uma única frase que diz Conde é de 11.

menu