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
String
s 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 String
s al concatenarlas o combinarlas:
1
| l.info("Name: " + p.getName()); |
El signo más (
+
) es taquigráfico para concatenar String
s 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
String
s 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