Manipulación de caracteres e hileras de texto

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
2. Manejo de memoria Manejo de memoria estática
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Curso de java básico (scjp)
Diseño de AFN’s.
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Uso de variables de tipo referencia
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 Clases y Objetos Silvia Larrayoz Leire Urriza.
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Orientación a Objetos con Java SE
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
SQL Server Integration Services SSIS
Programación I Teoría III
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Direcciones, Arreglos y Argumentos de Funciones
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
Ecuaciones y Resolución de Ecuaciones Lineales
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
INFORMATICA I Arreglos 1 CLASE 17.
Informática II Prof. Dr. Gustavo Patiño MJ
1.2 Sintaxis del lenguaje Java.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Tema: Funciones en Excel (II) Funciones de Texto
Teoría de lenguajes y compiladores
Algoritmo y Estructura de Datos I
Programación Orientada a Objetos en Java
Marzo 2007 Lenguajes Visuales Clase III.
Unidad 3 Punteros.
Introducción al lenguaje R Sesión 2: Objetos en R
Ingeniero Anyelo Quintero
ESCUELA: NOMBRES: LÓGICA DE LA PROGRAMACIÓN UNIDAD 2: Naturaleza de los Datos FECHA: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO Ciencias.
Herramientas para el acceso directo a memoria en C++
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
1 Cadenas de caracteres Es un objeto de la clase String Una cadena de caracteres es una matriz unidimensional de elementos de tipo Char New. Utilizado.
Vectores en java.
Conceptos Básicos de Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Conceptos Adicionales sobre Variables y Constantes y la clase Math
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
Curso Programación en Java
JAVA J.A.C..
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Tema 2: Los tipos de datos
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
Fundamentos de Programación
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Programación orientada a objetos. Existen 3 niveles de visibilidad: ◦ public: significa que los atributos de una clase pueden ser accedidas desde fuera.
Fundamentos de vectores y matrices
Programación Orientada a Objetos
Arrays multidimensionales en JAVA
Entorno de trabajo de Microsoft Word 2007
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
Programación 1 String y arreglos Facilitador Adrián Monge Monge.
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
Transcripción de la presentación:

Manipulación de caracteres e hileras de texto La clase String de Java

¿Qué es una hilera de caracteres? Las hileras de caracteres son objetos que se utilizan para almacenar cadenas de texto. Se utilizan para manipular el texto con operaciones comunes tales como pasar a mayúscula, minúscula, editar, buscar la aparición de una letra o sub-hilera dentro de otra hilera. Existen diferentes implementaciones para las hileras de caracteres dependiendo de que tan estáticas o dinámicas sean. Autor: Edgar Casasola M.

¿Cuáles tipos de hileras de caracteres existen en Java? En Java existe la clase “String” para hileras de tamaño estático, y la clase “StringBuffer” para hileras de tamaño dinámico. El “StringBuffer” permite ir almacenando texto en el mismo objeto y agregar, borrar o cambiar caracteres individuales. Autor: Edgar Casasola M.

¿Qué es un String en Java? Una instancia de la clase String es una hilera constante o “inmutable” de caracteres. Una vez creado un String, el mismo no puede ser editado o modificado. A pesar de lo anterior, la clase String ofrece métodos eficientes para crear nuevos String a partir de modificaciones de objetos existentes. Autor: Edgar Casasola M.

¿Cómo se puede inicializar un String en Java? Existen varias formas de declarar e inicializar un String. Asignando a una referencia de String un literal de String directamente. Ejemplo: String s = “ESTE ES UN LITERAL DE STRING”; O bien creando un String tomando con los caracteres correspondientes a los valores almacenados en otro String, vector de caracteres, o vector de bytes. String s = new String(arg); // arg puede ser una referencia a un: // String o “un literal como este”. // Vector de caracteres: char []. // Vector de bytes: byte []. // StringBuffer que contiene texto. Autor: Edgar Casasola M.

¿Qué sucede en la memoria al crear referencias e instancias de String? Hay que tener cuidado que aunque dos String tengan el mismo contenido no necesariamente “son iguales”. Dos referencias a String son iguales si se “refieren al mismo objeto”. No si el contenido de ambos es igual. En el siguiente caso s2 y s3 son iguales entre si, pero s1 aunque tiene el mismo valor, no es igual a s2 ni s3. Casa s1 s2 s3 Observe este caso: String s1 = “Casa”; String s2 = “Casa”; String s3 = s2; Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cuáles son las acciones más comunes que se llevan a cabo con hileras de caracteres? Entre las operaciones más comunes que se llevan a cabo con hileras de caracteres están las siguientes: Obtener la letra que se encuentra en una posición dada. Conocer el tamaño de una hilera. Extraer un fragmento de texto desde una hilera. Comparar el contenido de dos hileras de caracteres. Comparar el contenido de dos hileras de caracteres ignorando entre mayúsculas y minúsculas. Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cuáles son las acciones más comunes que se llevan a cabo con hileras de caracteres? (continuación) Eliminar los blancos al inicio y al final de una hilera. Cambio de letras a mayúscula o minúscula. Búsqueda de un String dentro de otro. Reemplazo de una letra en la hilera original. Unir o fragmentar una hilera en sus partes. Determinar si una hilera inicia o termina con algún valor específico. Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo puedo obtener la letra que se encuentra en una posición dada del String? Para obtener una letra que se encuentra en una posición dada existe el método charAt(int) que recibe la posición dentro del String. Aunque es posible obtener la letra de una posición dada, no se puede cambiar la letra dentro del mismo String ya que es estático. Autor: Edgar Casasola M.

¿Cómo se puede conocer el tamaño de un String en Java? La clase String cuenta con un método que devuelve la cantidad de caracteres que tiene almacenada una hilera. String.length() // devuelve el tamaño Todos los caracteres incluyendo el carácter en blanco ‘ ‘ se toman en cuenta. No lo confunda con la variable pública estática length con que cuentan los vectores. Autor: Edgar Casasola M.

¿Cómo se puede extraer un fragmento de texto desde una hilera en Java? Si se desea obtener un String con la subhilera se puede utilizar el método substring(int desde,int hasta). Este método devuelve un nuevo String formado con las letras que van desde la posición indicada en el primer parámetro hasta y sin incluir el caracter que se encuentra en la posición del segundo parámetro. Si se desea un String a partir de una posición hasta el final se puede utilizar el método substring(int desde) con solo el parámetro de la posición inicial. Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo se puede comparar el contenido de dos hileras de caracteres en Java? Para comparar el contenido de dos hileras de caracteres se puede utilizar el método compareTo(String otro). Este devuelve un número positivo si el primer String es lexicográficamente mayor que el segundo (va después del primero al ordenarlos alfabéticamente), devuelve un número negativo si es menor, o bien un cero si el contenido de ambos es igual. O bien se puede utilizar el método equals(String otro) que dice si el contenido de un String es igual que otro. Recuerde que si compara con == lo que está comparando es si las referencias a String “apuntan” o “se refieren” al mismo objeto, no se está verificando si los dos String “contienen” algo similar. Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo se puede comparar el contenido de dos Strings ignorando mayúsculas en Java? Para comparar el contenido de dos hileras de caracteres sin tomar en cuenta la diferencia entre mayúsculas y minúsculas, se utiliza el método equalsIgnoreCase(String otro). Este compara el String al que se le aplica el método con el que se recibe como parámetro. Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo se pueden eliminar los blancos al inicio y al final de una hilera en Java? El método trim permite producir un nuevo String luego de eliminar los blancos al inicio y al final de un String. Algo como: “ texto “.trim() produce: “texto” Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo saber si una hilera inicia o termina en una palabra específica en Java? Los métodos: starsWith(String inicio) endsWith(String terminacion) sirven para darse cuenta si una palabra inicia o termina con una sub-hilera específica. Ambos devuelven un valor booleano. Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo crear un String con todos los caracteres en mayúscula o minúscula? Para crear un nuevo String con todos los caracteres en mayúscula se utiliza el método toUpperCase(). Para convertir a minúscula se utiliza el método toLowerCase(). Autor: Edgar Casasola M.

Autor: Edgar Casasola M. ¿Cómo se produce un nuevo String luego de reemplazar una letra en Java? El método replace(char letraVieja, char letraNueva) permite producir un nuevo String donde la letra vieja ha sido sustituida por la letra nueva en el String que es retornado. Autor: Edgar Casasola M.

¿Cómo crear un String como producto de la unión de dos o más String? Debido a que los Strings no son editables, los métodos de modificación generan una nueva copia del String modificado. El String original, sobre el cual se efectuó la operación, no es modificado. El método concat(String otro) devuelve un nuevo String producto de unir el String al que se le aplica el método con el otro String que se recibe como parámetro. Autor: Edgar Casasola M.

¿Se puede convertir un String a un vector de caracteres? Sí, en Java existen métodos para extraer los caracteres de un objeto tipo String. El más común es el método toCharArray() que produce un arreglo nuevo con los caracteres contenidos en el String al que se le aplica. Autor: Edgar Casasola M.

EJEMPLO 1 - Manipulación de hileras de caracteres Ir al ejemplo

EJERCICIO 1 - Manipulación de hileras de caracteres Ir al ejercicio

¿Cómo se pueden crear hileras que crecen de forma dinámica? El StringBuffer es un objeto que permite almacenar caracteres e ir ajustando su contenido de manera dinámica dentro del mismo objeto. Es utilizado básicamente para editar texto. Autor: Edgar Casasola M.

¿Cuál es el uso más común de los StringBuffers? El uso más común es la edición dinámica de texto. La ventaja es que permite que se le agreguen fragmentos de texto al final de la hilera mediante el método como append(String agregado). También pueden insertar fragmentos de texto en medio de una hilera con el método insert(int posición, String fragmento), en este caso se pueden insertar caracteres a partir del punto específico indicado por la posición. Los demás caracteres se desplazan hacia la derecha a partir del punto donde se lleva a cabo la inserción. Autor: Edgar Casasola M.

¿Cuál es el uso más común de los StringBuffers? (continuación) Además es posible sustituir el carácter que se encuentra en una posición dada con el método setCharAt(int posición, char nuevo). Recuerde que estos métodos no existen en los String porque los mismos no son modificables, los String generan copias mientras que el StringBuffer es modificado internamente sin generar copias. Autor: Edgar Casasola M.

¿Cómo funciona el StringBuffer? Los métodos insert() y append() del StringBuffer permiten modificar la hilera de texto que contiene, al igual que el setCharAt(int,char) Por ejemplo: StringBuffer expresion = new StringBuffer(); expresion.append(3); expresion.append(2); expresion.append('X'); expresion.insert(1," + "); expresion.insert(5," = "); expresion.setCharAt(8,'5'); System.out.println(expresion); Produce como resultado el String: 3+2=5 Autor: Edgar Casasola M.

¿Cómo funciona el operador binario de concatenación +? El operador binario de concatenación + es implementado por el compilador de java mediante el uso de StringBuffers. Una expresión como la siguiente: String mensaje = “Peso = " + 179.25 + “ kilos”; equivale a: String mensaje = new StringBuffer().append(“Peso = ").append(179.25).append(“ kilos") .toString(); Autor: Edgar Casasola M.

EJEMPLO 2 - Manipulación de hileras dinámicas de caracteres Ir al ejemplo

EJERCICIO 2 - Manipulación de hileras dinámicas de caracteres Ir al ejercicio

¿Cómo separar los términos que componen una hilera de caracteres? El método split(“\\s”) permite fragmentar una hilera y produce un vector de String con los fragmentos producidos luego de separar la tira. La expresión predefinida \s indica que los delimitadores de cada término son: los blancos, tabuladores, cambios de líneas, caracteres de ajuste y de retorno. Nota: El uso de la clase java.util.StringTokenizer() que sirve para el mismo fin ha sido declarado como obsoleto, y fue sustituido por el split() que sí pertenece a la clase String. Autor: Edgar Casasola M.

EJEMPLO 3 – Separación de los términos que componen una hilera Ir al ejemplo

EJERCICIO 3 - Separación de los términos que componen una hilera Ir al ejercicio

EJEMPLO 4 – Utilización de hileras para la resolución de problemas Ir al ejemplo

EJERCICIO 4 – Utilización de hileras para la resolución de problemas Ir al ejercicio

Autor: Edgar Casasola M. ¿Dónde puedo obtener información de todos los métodos de la clase String? La clase String es incluida automáticamente dentro del paquete java.lang. Para más información se puede visitar la documentación en línea: http://www.javasoft.com Autor: Edgar Casasola M.