PROG. ORIENTADA A ONJETOS
Pontificia Universidad Catolica de Chile
Escuela de Ingenier´
ıa
´
Departamento de Ciencia de la Computacion
IIC1103 — Introducci´n a la Programaci´n
o
o
Cap´
ıtulo 5: Strings
Resumen te´rico
o
Los Strings son una secuencia de caracteres, incluyendo letras (may´sculas y min´sculas), signos, espacios,
u
u
caracteres especiales, etc. En palabras simples, los Strings sirvenpara guardar palabras, oraciones, etc. En
java los Strings son objetos, tipo String. Al momento de crearlos, la manera m´s sencilla es:
a
String hola = "Hello World";
Los Strings, al ser objetos, tambi´n pueden ser inicializados como tales, a trav´s del constructor:
e
e
String s = new String(); // String vacio
String s = new String("Hola"); // String "Hola"
M´todos de la clase String
eLa clase String tiene una gran variedad de m´todos utiles. La lista completa puede encontrarse en la documene
´
taci´n oficial (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html). A continuaci´n explicamos
o
o
los m´todos que m´s se utilizan en este curso.
e
a
int length()
Sencillamente, retorna el largo (la cantidad de caracteres) de un String.
String texto1 = "Hola";String texto2 = "(/.,;>.)";
String texto3 = "";
String texto4 = " ";
int n = texto1.length(); //
int m = texto2.length(); //
int p = texto3.length(); //
int q = texto4.length(); //
4
8
0
1
char charAt(int index)
Retorna el caracter que se encuentra en la posici´n dada por index. Si index es mayor o igual que el largo del
o
String, el programa se caer´ al ejecutar, aunque Eclipseno le avisar´ al respecto (no es capaz de prever dicho
a
a
comportamiento), y al compilar tampoco habr´ errores. Por esta raz´n, cada vez que utilice este m´todo
a
o
e
debe primero revisar el largo del String.
String texto = "¡Hola Juanito!";
char c1 = texto.charAt(0); // ’¡’
char c2 = texto.charAt(1); // ’H’
char c3 = texto.charAt(13); // ’!’
char c4 = texto.charAt(20); // errorchar c5 = texto.charAt( texto.length() - 1 ); // ’!’
IIC1103 – Cap´
ıtulo 5: Strings
1
Ejemplo de c´mo evitar errores:
o
String texto = Usuario.texto("Ingrese un texto:");
char c;
if(texto.length() > 20) {
c = texto.charAt(20);
//...
} else {
Usuario.mensaje("String");
}
boolean startsWith(String s)
Devuelve true si el String comienza con el String s entregado como par´metro. Lacoincidencia debe ser
a
exacta (se distingue may´sculas de min´sculas, por ejemplo, y los caracteres con tilde no son iguales a los
u
u
que no lo llevan).
String texto
boolean b1 =
boolean b2 =
boolean b3 =
boolean b4 =
boolean b5 =
= "¡Hola Juanito!";
texto.startsWith("¡"); // true
texto.startsWith("¡Hola ") // true
texto.startsWith("¡hola Juanito!") // falsetexto.startsWith("¡Hola Juanito! ") // false
texto.startsWith("¡Hola Juanito!") // true
boolean startsWith(String s, int k)
Como el m´todo anterior, pero comienza a revisar desde el ´
e
ındice (posici´n) k, sin importar lo que haya
o
antes. Si k == 0, entonces el m´todo es equivalente al anterior.
e
String texto
boolean b1 =
boolean b2 =
boolean b3 =
boolean b4 =
= "¡Hola Juanito!";texto.startsWith("Hola", 1); // true
texto.startsWith(" Juanito!", 5); // true
texto.startsWith("a", 7); // false
texto.startsWith("¡", 20); // false
int indexOf(char c)
Devuelve un entero que indica la posici´n donde aparece por primera vez el caracter c. Si el caracter no
o
aparece en todo el String, devuelve -1.
String texto = "¡Hola Juanito!";
int n = texto.indexOf(’o’); // 2
int m =texto.indexOf(’ ’); // 5
int p = texto.indexOf(’¡’); // 0
int q = texto.indexOf(’z’); // -1
int indexOf(String s)
Similar al anterior, s´lo que devuelve la posici´n donde aparece por primera vez un determinado String.
o
o
String texto = "En la arboleda un arbolito";
int n = texto.indexOf("arbol"); // 6
int m = texto.indexOf("´rbol"); // -1
a
int p = texto.indexOf("boli"); // 20
int q =...
Regístrate para leer el documento completo.