Nan em Java

Nan em Java

Em Java, pode haver situações em que há necessidade de abster -se de “Nan”Valores. Mais especificamente, ao lidar com valores de lixo ou cálculos matemáticos que acumulam memória desnecessária. Nesses casos, "Nan" em Java é de grande ajuda na verificação de um número válido e gerenciando a memória efetivamente.

Este artigo demonstrará o uso e a ocorrência de "nan" em java.

O que é "nan" em java?

““Nan (não um número)”Em Java é um valor de ponto flutuante especial que se refere a erros. Geralmente corresponde ao resultado de operações inválidas. Por exemplo, dividir zero por zero, dividindo um número de ponto flutuante por zero ou pegando a raiz quadrada de um número negativo, etc.

Exemplo 1: Operações que levam a "NAN" em Java

Neste exemplo, os cálculos resultando no “Nan”O resultado pode ser implementado:

classe pública nan
public static void main (string [] args)
Sistema.fora.println ("zero por zero:" +0.0 /0.0);
Sistema.fora.println ("Mod by Zero:" +10.0 % 0);
Sistema.fora.println ("raiz quadrada de -1:" + matemática.sqrt (-1));
Sistema.fora.println ("log de -1:" + matemática.log (-1));


Nas linhas de código acima, divida zero por zero, tome “mod”Por zero e devolver o“raiz quadrada" e "registro”De um número negativo, respectivamente. Todos esses cálculos levam a um “Nan" resultado.

Saída


Na saída acima, pode -se observar que todos os cálculos produzem “Nan", como resultado.

Exemplo 2: Comparando valores "nan" em java

Neste exemplo em particular, o “Nan”Os valores correspondentes a várias classes podem ser comparados. Antes de prosseguir para o exemplo, considere os seguintes pontos:

    • Os operadores de comparação “<","<=”,”>", e "> =”Sempre retorne“falso"Se um ou ambos os operandos forem" nan ".
    • O operador de igualdade “==”Retorna“falso”Se qualquer um dos operandos for nan.
    • O operador de desigualdade “!=”Retorna“verdadeiro”Se qualquer um dos operandos for nan .

Agora, vamos para as seguintes linhas de código:

classe pública Nan2
public static void main (string [] args)
Sistema.fora.println (flutuação.Nan != Flutuação.Nan);
Sistema.fora.println (flutuação.Nan == flutuação.Nan);
Sistema.fora.println (flutuação.Nan < Float.NaN);
Sistema.fora.println (flutuação.Nan <= Float.NaN);
Sistema.fora.println (flutuação.Nan> = flutuação.Nan);
Sistema.fora.println (duplo.Nan != Duplo.Nan);
Sistema.fora.println (duplo.Nan == Double.Nan);
Sistema.fora.println (duplo.Nan> duplo.Nan);
Sistema.fora.println (duplo.Nan <= Double.NaN);
Sistema.fora.println (duplo.Nan> = duplo.Nan);


Neste trenó de código, especifique “Flutuador.Nan" e "Dobro.Nan”Para os campos constantes em ambas as classes, respectivamente para executar as comparações. Observe que a comparação é feita com base nas condições especificadas discutidas e no resultado booleano correspondente é retornado.

Saída


Nesse resultado, pode -se analisar que apenas a comparação com o “!=”O operador retornou o resultado“verdadeiro”Nas duas classes de acordo.

Conclusão

““Nan (não um número)”Em Java, geralmente corresponde ao resultado de operações inválidas como dividir zero por zero, dividindo um número de ponto flutuante por zero ou pegando a raiz quadrada de um número negativo, etc. Este blog discutiu o uso e a implementação de “Nan”Em Java.