JAVA TIENE INTEGRADO EL TIPO String que sirve para guardar cadenas de caracteres. Hay una diferencia muy importante entre este tipo y los ocho restantes, y es que el tipo String es un objeto. No contiene únicamente el valor de unos datos, sino que también tiene «métodos» (Un método es una subrutina que forma parte de un objeto.) Por ejemplo, si str es una variable de tipo string, puede llamar al método str.length() que le indicará el numero de caracteres que tiene la string. Esto es mucho mas que una simple cadena de caracteres. En esta sección veremos estos detalles.

Una cosa que no va ha poder hacer con las Strings, es compararlas usando operadores relacionales como <, >, <=, >=. Le es posible el emplear == y !=, pero dadas las peculiaridades del objeto, puede que no obtenga los resultados que espera. (Lo veremos mas adelante en este mismo capítulo).En lugar de todo eso, puede utilizar los métodos que se le proporcionan para comparar las Strings.

La clase String define multitud de métodos. Ahora vamos a indicarle los que puede encontrar mas útiles. Suponga que s1 y s2 son Strings

s1.equals.(s2) es una función de valor boleano que devuelve true si s1 contiene exactamente la misma secuencia de caracteres que s2.

s1.equalsIgnoreCase(s2) es otra función de valor boleano que comprueba si s1 es igual a s2, pero considerando iguales mayúsculas y minúsculas. Esto quiere decir que si s1 contiene «gato», entonces s1.equals(«Gato») es false, mientras que s1.equalsIgnoreCase(«Gato») es true

s1.compareTo(s2) es una función de valor entero que compara dos Strings. Si ambas son iguales. se devuelve 0; si s1 es menor que s2 se devuelve -1, y si s1 es mayor que s2 se devuelve 1. (Cuando las dos cadenas contiene únicamente caracteres en mayúscula o en minúscula, el «mayor que» y el «menor que», se refiere exclusivamente al orden alfabético.)

s1.charAt(N), donde N es un numero entero, es una función de valor char que devuelve el carácter que esta en la posición N de la cadena. Tenga en cuenta que las posiciones empiezan en 0, esto quiere decir que s1.charAt(0) es el primer carácter de la cadena, s1.charAt(1) es el segundo y así sucesivamente.

s1.length(), ya la hemos mencionado, es una función de valor entero que devuelve el numero de caracteres contenidos en la cadena.

s1.toUpperCase() es una función que devuelve un valor string conteniendo lo mismo que s1 pero con todas las minúsculas que contenía transformadas a mayúsculas. El método inverso es s1.toLowerCase()

s1.trim() es una función que devuelve un valor string . El contenido devuelto es el de s1 una vez se le ha quitado todos los caracteres no imprimibles tales como espacios, tabuladores,… Por ejemplo si s1 contiene el valor «Miguel «, entonces s1.trim() devolverá el valor «Miguel» sin los espacios en blanco del final….

En los métodos s1.toUpperCase(), s1.toLowerCase() y s1.trim(), el valor de la variable s1 no cambia; en su lugar se crea una nueva cadena y se devuelve el valor de la función. El valor devuelto se puede emplear, por ejemplo, en una instrucción de asignación como «s2=s1.toLowerCase();».

También es muy útil el emplear el operador +  para concatenar dos Strings. La concatenación de dos cadenas, consiste en la unión de todos los caracteres de la primera y a continuación todos los caracteres de la segunda. Por ejemplo, «Hola»+»Mundo» tiene como resultado «HolaMundo» (Se unen sin añadir un solo espacio; si desea que haya espacios deberán pertenecer a alguna de las cadenas.)

Aun mas sorpresas: puede concatenar valores pertenecientes a tipos primitivos con una string usando el operador +. Si intenta imprimir en la consola una variable pertenecientes a uno de los tipos primitivos,se convertirá automáticamente a string. Por ejemplo, la expresión «Número»+42 devuelve el valor «Número42». Y las instrucciones

 console.put(«Después de «);

console.put(years);

console.put(» años, el valor es «);

console.put(principal);

pueden ser reemplazadas por:

 console.put(«Después de » + years + » años, el valor es » + principal);

Todo esto es muy cómodo. Es posible emplear el operador += para añadir caracteres al final de una string. Por ejemplo, si quiere ir leyendo caracteres desde la entrada de consola e irlos almacenando en una string, podría escribir algo como:

 String str = «»; // Empieza con la cadena vacía
char ch = console.getChar(); // lee un carácter
while ( (ch >= ‘a’ && ch <= ‘z’)|| (ch >= ‘A’ && ch <= ‘Z’) ) { // si ch es una letra, lo añade a la cadena
// y lee el siguiente carácter
str += ch; // (esto es lo mismo que str = str + ch;)
ch = console.getChar();
} // final del bucle while

 

2 comentarios sobre “Programacion en Java. Trabajando con cadenas(Strings)”

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.