Está en la página 1de 8

Servicios de Red e Internet

Groovy

Unidad 2
VARIABLES
Servicios de Red e Internet Curso 2019-20
.

Unidad 1 - Introducción a Groovy

INDICE

1.- Tipos de variables

2.- Tipos Numéricos

1.- Tipos de variables

Las variables pueden definirse de dos formas diferentes, usando la sintaxis


nativa de java o utilizando la palabra reservada “def”.

Por ejemplo,

s =new Integer(24)

O bien, def s =new Integer(24)

Groovy soporta dos operadores unarios para incrementar o decrementar una


variable numérica

Suma++ que es equivalente a Suma = Suma + 1

y suma-- que es equivalente a Suma = Suma – 1

Este operador se puede incluir en cualquier otra instrucción

def x=10

def y =x++

En este caso, la y tendría el valor 10 y la x, que inicialmente tenía asignado el


valor 10, se incrementa hasta 11 ya que el incremento se ha hecho, pero
después de la asignación.

Sin embargo, se lo escribimos

def y=++x

1
Servicios de Red e Internet Curso 2019-20
.

Tanto la x como la y tienen el valor 11 ya que el incremento de x se hace antes


de la asignación de su valor a la variable y.

2.- Tipos Numéricos

Groovy soporta los siguientes tipos numéricos

byte – cualquier número contenido en un byte.


short – Entero corto. Ejemplo 10.
int – Entero de 16 bits. Ejemplo 1234.
long – Entero largo de 32 bits. Por ejemplo 10000090.
float – Representa un número real de 32 bits. Ejemplo 12.34.
double – Número Real de 64 bits. Ejemplo12.3456565.

Los operadores que gestionan números son los típicos operadores relacionales.

Un ejemplo podría ser el siguiente

2
Servicios de Red e Internet Curso 2019-20
.

Los tipos numéricos soportan los siguientes métodos:

El método doubleValue() devuelve un valor real de dicha variable numérica


entera. Por ejemplo

Los métodos intValue() y longValue() convierten el número en int y long.

3
Servicios de Red e Internet Curso 2019-20
.

3.- Caracteres

Las clases que representan caracteres son

char – Representa un carácter simple como ‘a’.


String – Representa una cadena de texto como “Hello World”.

Groovy soporta de forma nativa tres tipos de cadenas de texto: Strings, GStrings
y Heredocs. Cual usar en cada momento es una decisión que surgirá de las
necesidades de nuestro código, aunque en última instancia todas ellas son
intercambiables por cualquier otra.

Un String en Groovy es similar a un String en Java, con la particularidad de que


puede ser construido usando tanto comillas simples como dobles:

def cadena1 = "Esto es válido en Java y Groovy"

def cadena2 = 'Esto es válido solo en Groovy'

Si observamos la salida de ambas sentencias println veremos que las dos


variables definidas previamente, cadena1 y cadena2, son de tipo
java.lang.String. Un tipo de comillado puede contener al otro en su interior, sin
necesidad de (aunque está permitido) escapar el comillado interior:

def cadena3 = "Hola 'Usuario'"

def cadena4 = 'Hola "Usuario"'

4
Servicios de Red e Internet Curso 2019-20
.

El resultado sería

GStrings (abreviación de Groovy Strings) es una cadena de texto que contiene


expresiones embebidas. Un GString solo puede ser construido con comillas
dobles o triples (las cuales veremos más adelante). Veamos un ejemplo:

En el código anterior, vemos que dentro de la cadena de texto pasada a println


hemos insertado la variable saldo como si fuera parte de la propia cadena de
texto. Esta inserción se hace dentro del operador ${} y es evaluada en tiempo de
ejecución. Como se indicaba en el párrafo anterior, podemos insertar cualquier
expresión dentro de un GString:

5
Servicios de Red e Internet Curso 2019-20
.

Es evidente que el código anterior es mucho más natural, tanto al escribirlo como
al leerlo, que su homólogo en Java (el cual necesitaría unir cada parte de texto
con cada expresión mediante el operador de concatenación +). Es importante
tener siempre presente que un GString no es un String, y que usarlos en
combinación puede producir resultados inesperados:

La primera sentencia println devuelve false, ya que ambas clases implementan


sus métodos equals() y hashCode() de forma diferente. El mismo problema
puede surgir (y surgirá) si mezclamos String's y GString's en sitios tales como
las claves de un Map. Una forma de solventar este problema es invocar el
método toString() en el objeto GString, como puede verse en la segunda
sentencia println del código anterior (la cual sí devuelve true pues ahora ambos
objetos a comparar sí son del mismo tipo).

6
Servicios de Red e Internet Curso 2019-20
.

4.- Booleano

EL tipo Boolean sólo admite dos valores: true o false.

alue of X is 6

También podría gustarte