Groovy - Números
No Groovy, os números são na verdade representados como objetos, sendo todos eles uma instância da classe Integer. Para fazer um objeto fazer algo, precisamos invocar um dos métodos declarados em sua classe.
Groovy oferece suporte a números inteiros e de ponto flutuante.
- Um número inteiro é um valor que não inclui uma fração.
- Um número de ponto flutuante é um valor decimal que inclui uma fração decimal.
Um exemplo de números no Groovy é mostrado abaixo -
Integer x = 5;
Float y = 1.25;
Onde x é do tipo Inteiro e y é o flutuador.
A razão pela qual os números em groovy são definidos como objetos geralmente é porque existem requisitos para executar operações em números. O conceito de fornecer uma classe sobre tipos primitivos é conhecido como classes de invólucro.
Por padrão, as seguintes classes de wrapper são fornecidas no Groovy.
![](https://assets.edu.lat/groovy/images/number_wrapper_classes.jpg)
O objeto da classe wrapper contém ou envolve seu respectivo tipo de dados primitivo. O processo de conversão de tipos de dados primitivos em objetos é chamado de boxing e é cuidado pelo compilador. O processo de conversão do objeto de volta ao seu tipo primitivo correspondente é denominado unboxing.
Exemplo
A seguir está um exemplo de boxing e unboxing -
class Example {
static void main(String[] args) {
Integer x = 5,y = 10,z = 0;
// The the values of 5,10 and 0 are boxed into Integer types
// The values of x and y are unboxed and the addition is performed
z = x+y;
println(z);
}
}
A saída do programa acima seria 15. No exemplo acima, os valores de 5, 10 e 0 são primeiro encaixotados nas variáveis inteiras x, y e z de acordo. E então, quando a adição de x e y é realizada, os valores são desempacotados de seus tipos Inteiros.
Métodos Numéricos
Como os números no Groovy são representados como classes, a seguir está a lista de métodos disponíveis.
S.No. | Métodos e Descrição |
---|---|
1 | xxxValue () Este método assume o Número como parâmetro e retorna um tipo primitivo baseado no método que é invocado. |
2 | comparado a() O método compareTo é usar compare um número contra outro. Isso é útil se você deseja comparar o valor dos números. |
3 | é igual a() O método determina se o objeto Number que invoca o método é igual ao objeto que é passado como argumento. |
4 | valor de() O método valueOf retorna o objeto Number relevante contendo o valor do argumento passado. |
5 | para sequenciar() O método é usado para obter um objeto String que representa o valor do objeto Number. |
6 | parseInt () Este método é usado para obter o tipo de dados primitivo de uma determinada String. parseXxx () é um método estático e pode ter um ou dois argumentos. |
7 | abdômen() O método fornece o valor absoluto do argumento. O argumento pode ser int, float, long, double, short, byte. |
8 | ceil () O método ceil fornece o menor inteiro maior ou igual ao argumento. |
9 | chão() O método floor fornece o maior número inteiro menor ou igual ao argumento. |
10 | rint () O método rint retorna o inteiro que tem o valor mais próximo ao argumento. |
11 | volta() O método round retorna o long ou int mais próximo, conforme fornecido pelo tipo de retorno do método. |
12 | min () O método fornece o menor dos dois argumentos. O argumento pode ser int, float, long, double. |
13 | max () O método fornece o máximo dos dois argumentos. O argumento pode ser int, float, long, double. |
14 | exp () O método retorna a base dos logaritmos naturais, e, para a potência do argumento. |
15 | registro() O método retorna o logaritmo natural do argumento. |
16 | Pancada() O método retorna o valor do primeiro argumento elevado à potência do segundo argumento. |
17 | sqrt () O método retorna a raiz quadrada do argumento. |
18 | pecado() O método retorna o seno do valor duplo especificado. |
19 | cos () O método retorna o cosseno do valor duplo especificado. |
20 | bronzeado() O método retorna a tangente do valor duplo especificado. |
21 | como em() O método retorna o arco seno do valor duplo especificado. |
22 | acos () O método retorna o arco-cosseno do valor duplo especificado. |
23 | numa() O método retorna o arco tangente do valor duplo especificado. |
24 | atan2 () O método converte coordenadas retangulares (x, y) em coordenadas polares (r, theta) e retorna theta. |
25 | toDegrees () O método converte o valor do argumento em graus. |
26 | radiano() O método converte o valor do argumento em radianos. |
27 | aleatória() O método é usado para gerar um número aleatório entre 0,0 e 1,0. O intervalo é: 0,0 = <Math.random <1,0. Diferentes intervalos podem ser alcançados usando aritmética. |