martes, 17 de septiembre de 2019

Cadenas y operadores de java

Cadenas y operadores

El tutorial ha presentado hasta el momento varias variables de tipo String pero sin mucha explicación. Aprenda más acerca de las cadenas en esta sección y también descubra cuándo y cómo usar los operadores.

Cadenas

El manejo de cadenas en C es un trabajo intensivo porque son matrices de finalización nula de caracteres de 8 bits que usted tiene que manipular. En el lenguaje Java, las cadenas son objetos de primera clase de tipo String, con métodos que le ayudan a manejarlas. (Lo más cerca que el código Java llega al mundo C con respecto a las cadenas es el tipo de datos primitivos char, que puede tener un solo carácter Unicode, por ejemplo a).
Ya ha visto cómo crear una instancia de un objeto String y establecer su valor (en el Listado 5) pero existen varias otras formas de hacer eso. Aquí hay un par de formas para crear una instancia String con un valor de hello:
1
String greeting = "hello";
1
greeting = new String("hello");
Debido a que las Strings son objetos de primera clase en el lenguaje Java, puede usar new para crear una instancia de ellas. Establecer una variable de tipo String tiene el mismo resultado porque el lenguaje Java crea un objeto String para tener el literal, luego asigna ese objeto a la variable de instancia.

Concatenación de cadenas

Puede hacer muchas cosas con String y la clase tiene muchos métodos útiles. Sin siquiera usar un método, ya ha hecho algo interesante con dos Strings al concatenarlas o combinarlas:
1
l.info("Name: " + p.getName());
El signo más (+) es taquigráfico para concatenar Strings en el lenguaje Java. (Existe una sanción de rendimiento por hacer este tipo de concatenación dentro de un bucle pero por ahora no tiene que preocuparse por eso).

Ejemplo de concatenación

Intentemos concatenar Strings dentro de la clase Person. En este momento, tiene una variable de instancia de name pero sería bueno tener un firstName y un lastName. Entonces podría concatenarlas cuando otro objeto solicite el nombre completo de Person.
Lo primero que necesita hacer es agregar las nuevas variables de instancias (en la misma ubicación en el código de origen donde se define actualmente el name):
1
2
3
//private String name;
private String firstName;
private String lastName;
Ya no necesita el name; lo ha reemplazado con el firstName y el lastName.

Encadenamiento de llamadas de métodos

Ahora puede generar getters y setters para el firstName y el lastName (como se muestra en la Ilustración 6), eliminar el método setName() y cambiar el getName() para que se vea así:
1
2
3
public String getName() {
  return firstName.concat(" ").concat(lastName);
}
Este código ilustra el encadenamiento de las llamadas de métodos. Esta es una técnica comúnmente usada con objetos inmutables como String, donde una modificación a un objeto inmutable siempre devuelve la modificación (pero no cambia el original). Entonces, usted opera sobre el valor cambiado de retorno.

Operadores

Como puede esperar, el lenguaje Java puede calcular y ya ha visto como asignar variables. Ahora, le daré un breve vistazo a algunos de los operadores del lenguaje Java que necesitará mientras sus aptitudes mejoran. El lenguaje Java usa dos tipos de operadores:
  • Unario: Solo se necesita un operando.
  • Binario: Se necesitan dos operandos.
Los operadores aritméticos del lenguaje Java se resumen en la Tabla 2:
Tabla 2. Operadores aritméticos del lenguaje Java

Operadores adicionales

Además de los operadores en la Tabla 2, ha visto varios otros símbolos que se llaman operadores en el lenguaje Java. Por ejemplo:
  • El punto (.), que califica los nombres de los paquetes e invoca métodos.
  • Los paréntesis (()), que delimitan una lista separada por comas de parámetros para un método.
  • new, que (cuando le sigue un nombre de constructor) crea una instancia de un objeto.

La sintaxis del lenguaje Java también incluye una cantidad de operadores que se usan específicamente para programación condicional, es decir, programas que responden de forma diferente en base a una entrada diferente. Los verá en la siguiente sección.

No hay comentarios:

Publicar un comentario