10.05.2014 Views

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Programación I 53<br />

método, mensaje, herencia, polimorfismo, clase abstracta. Son casi todos los conceptos básicos<br />

de la orientación a objetos.<br />

Ahora, para empezar a profundizar, veremos el uso de clases standard y luego crearemos clases<br />

e instancias capaces de reconocer mensajes, y, en respuesta a esos mensajes, ejecutar métodos.<br />

5.4.1 Clase String<br />

En Java existen tipos de datos primitivos (como int o boolean) y tipo Clase. Un String en Java<br />

es una secuencia de caracteres. No es un tipo primitivo, es tipo Clase.<br />

Son especiales porque se pueden crear de dos formas:<br />

String s1 = "Ana";<br />

String s2 = new String ("Ana");<br />

Para referirse a los caracteres se utiliza la posición. La primera posición es 0. Las operaciones<br />

comunes en un string, por ejemplo s son:<br />

s.length() (da el largo)<br />

s.toUpperCase() (lo pasa a mayúsculas)<br />

s.indexOf(“A”) (retorna la posición de la letra "A" en s)<br />

Un tema importante tiene que ver con la comparación de strings. Supongamos que se tienen las<br />

siguientes definiciones:<br />

String s1, s2, s3;<br />

s1 = "Ana";<br />

s2 = "Ana";<br />

s3 = new String ("Ana");<br />

String s4;<br />

s4 = s3;<br />

Si se hacen las comparaciones:<br />

s1 == s2 es TRUE<br />

s1 == s3 es FALSE<br />

s1.equals(s2) es TRUE<br />

s1.equals(s3) es TRUE<br />

s1.compareTo(s2) es 0<br />

s1.compareTo(s3) es 0<br />

s4 == s3 es TRUE<br />

s3 y s4 son alias: refieren o "miran" al mismo objeto.<br />

Si se pone: s1 == s2, se compara referencias, no el valor. Pregunta si refieren al mismo lugar en<br />

memoria. La equivalencia se puede preguntar:<br />

s1.equals (s2)<br />

s1.equalsIgnoreCase(s2) (devuelve true si son iguales ignorando mayúsculas y<br />

minúsculas)<br />

s1.compareTo(s2)<br />

Tomar nota que compara lexicográficamente. El resultado es:<br />

0: s1 va después s2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!