clase string java

12
Instituto Polit´ ecnico Nacional Escuela Superior de C´omputo Programaci´ on Orientada a Objetos Tarea 3. Clase String 2CM7 Profesor: Flores Mendoza Yaxkin Carlos Vilchis Mart´ ınez exico D.F. - 11 de mayo de 2015 1

Upload: charly-vilchis-martinez

Post on 10-Nov-2015

262 views

Category:

Documents


6 download

DESCRIPTION

Documento con informacion e imagenes de la clase String en java

TRANSCRIPT

  • Instituto PolitecnicoNacional

    Escuela Superior de Computo

    Programacion Orientada a Objetos

    Tarea 3. Clase String

    2CM7

    Profesor: Flores Mendoza Yaxkin

    Carlos Vilchis Martnez

    Mexico D.F. - 11 de mayo de 2015

    1

  • Indice

    1. Introduccion 3

    2. Que es la clase String en Java? 32.1. Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2. Creacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3. Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4. Metodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.5. Caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3. Clase String 73.1. Crear un String . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2. Concatenacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    4. Constructores de la clase String 8

    5. Objetos en la clase String 10

    6. Acceso a variables 10

    7. Excepciones 11

    8. Conclusion 12

    2

  • Figura 1: Ejemplo de clase Carro.

    1. Introduccion

    Una clase es una plantilla de la que se crean los objetos individuales.Hay que ver el ejemplo de la Figura 1 con la clase Carro:Una clase puede contener cualquiera de los siguientes tipos de variables:Variables locales: Las variables definidas dentro de los metodos, los cons-

    tructores o los bloques se denominan variables locales. Se declara la variable yse inicializa en el metodo y la variable sera destruida cuando el metodo se hacompletado.

    Variables de instancia: Las variables de instancia son variables dentro deuna clase, pero fuera de cualquier metodo. Estas variables se crean instanciascuando se carga la clase. Las variables de instancia se puede acceder desde elinterior de cualquier metodo, constructor o bloques de esa clase en particular.

    Variables de clase: Las variables de clase son variables declaradas dentrouna clase y fuera de cualquier metodo. En el ejemplo anterior marca, kilometrajey color son variables de clase Carro.

    Una clase en Java puede tener cualquier numero de metodos para accedero modificar el comportamiento de dicha clase. En el ejemplo anterior encender,acelerar y apagar son metodos de clase Carro.

    2. Que es la clase String en Java?

    La clase String es una de las mas utilizadas en las aplicaciones Java. Losdesarrolladores utilizan cadenas para almacenar y procesar texto, incluyendo eltexto capturado de la entrada del usuario o leer fuentes externas. Los objetosString pueden crear y utilizar cualquier aplicacion Java. Dicha clase tambien

    3

  • proporciona una serie de funciones utiles para el acceso y la modificacion decaracteres, que pueden incluir letras, numeros y signos de puntuacion.

    2.1. Objetos

    Strings de Java son objetos, en contraposicion a los tipos primitivos, quepueden ser utilizados para representar los caracteres y numeros. Esto significaque todas las instancias de String creadas dentro de un programa Java tienenacceso a los metodos descritos dentro de dicha clase. Los desarrolladores por lotanto pueden llamar a los metodos String en sus instancias de clases String. Amenudo son los primeros tipos de objetos utilizados por los desarrolladores queestan en las primeras etapas del aprendizaje. Los metodos y propiedades de laclase String se describen en la Especificacion Oficial de Lenguajes de Java.

    2.2. Creacion

    Los desarrolladores pueden crear objetos String de muchas maneras. La espe-cificacion de la clase describe los distintos metodos de constructor que se puedenutilizar. Sin embargo, la manera mas comun de crear una instancia de String esdeclarando su contenido directamente de la siguiente manera: String someText= Here is some text!; El valor asignado a la variable String se conoce comoString literal 2es utilizado por el compilador de Java para instanciar el objeto,asignando el valor especificado al mismo. Los Strings son inmutables, lo quesignifica que no se pueden cambiar, solo pueden ser reemplazados.

    2.3. Uso

    Ademas de la creacion directa de Strings, los desarrolladores pueden utili-zarlos para que sean devueltos de otras funciones. El tipo de objeto String escomun, regreso de muchos de los metodos mas utilizados en el lenguaje. Porejemplo, todos los objetos Java proporcionan el metodo toString, una repre-sentacion legible de la instancia de objeto con la siguiente firma de metodo:public String toString() Los Strings tambien se pueden pasar como parame-tros a otros metodos, como en el siguiente ejemplo: String someWords = somearbitrary words; someMethod(someWords); Esto funcionara con un metododescrito de la siguiente manera: public void someMethod(String wordString)

    2.4. Metodos

    La clase String proporciona una variedad de metodos, los cuales pueden serllamados en cualquier instancia de la clase. Varios de estos metodos devuelveninformacion acerca del String y sus caracteres. Por ejemplo, el codigo siguientemuestra el metodo length(longitud=, que devuelve un valor numerico queindica el numero de caracteres de la cadena: int numCars someString.length =(); Los metodos de proceso de retorno y las secciones de una cadena incluyensubstringque devuelve una seccion indicada por su posicion inicial y final:String smallerString = largerString.substring(3, 7);

    4

  • Figura 2: Lista de los metodos 1

    Figura 3: Lista de los metodos 2

    5

  • Figura 4: Lista de los metodos 3

    Figura 5: Lista de los metodos 4

    6

  • 2.5. Caracteres

    La clase String modela una secuencia de texto como una matriz de carac-teres. Proporciona una serie de metodos para acceder a estos caracteres. Elmetodo charAt.es una instalacion de este tipo, que se utiliza para devolver elcaracter apareciendo en una posicion de ndice determinado de la siguiente ma-nera: char someChar = someString.charAt(6); Dicha clase tambien proporcionametodos para indicar si ciertas secuencias de caracteres estan contenidas dentrodel valor de texto almacenado, incluyendo ndexOf. Este metodo devuelve laprimera posicion en la que se produce un String: int stringPosition = someS-tring.indexOf(some text);

    3. Clase String

    La clase String se encuentra contenida en el paquete java.lang con otrasclases como son:

    Boolean

    Double

    Float

    Math

    System

    StringBuffer

    Interfaces implementadas:Serializable, CharSequence, Comparable.-Un String en Java representa una cadena de caracteres no modificable. Por lo

    tanto, los metodos que actuan sobre un String con la intencion de modificarlo loque hacen es crear un nuevo String a partir del original y devolverlo modificado.Por ejemplo: Una operacion como convertir a mayusculas o minusculas un Stringno lo modificara sino que creara y devolvera un nuevo String con el resultadode la operacion.

    Todos los literales de la forma cualquier texto, es decir, literales entrecomillas dobles, que aparecen en un programa java se implementan como objetosde la clase String.

    3.1. Crear un String

    Se puede crear un String de varias formas, entre ellas:

    Utilizando una cadena de caracteres entre comillas:

    String s1 = abcdef;

    Utilizando operador de concatenacion +con dos o mas objetos String:

    7

  • String s2 = s1 + ghij; //s2 contiene abcdefghij.String s3 = s1 + s2 + klm; //s3 contiene abcdefabcdefghijklm.-La clase String representa cadenas de caracteres. Todos los literales de cadena

    en los programas de Java, como abc , se implementan como instancias de estaclase. Las cadenas son constantes; sus valores no se pueden cambiar despues desu creacion. Los buffers de cadenas apoyan cadenas mutables. Debido a que losobjetos String son inmutables que se pueden compartir. Por ejemplo:

    String str = abc;es equivalente a:char data [] = a, b, c; String str = new String (data);Aqu hay algunos ejemplos mas de como se pueden utilizar cadenas:System.out.println (abc); String cde = cde; System.out.println (abc

    + cde); String c = abc .substring (2,3); String d = cde.substring (1, 2);La clase String incluye metodos para examinar caracteres individuales de la

    secuencia, para las cadenas que comparan, para las cadenas de busqueda, parasubseries de extraccion y para la creacion de una copia de una cadena con todoslos caracteres traducidos a mayusculas o minusculas. El caso de mapeo se basaen la version estandar Unicode especificado por la clase Character.

    3.2. Concatenacion

    El lenguaje Java ofrece un apoyo especial para el operador de concatenacionde cadenas (+), y para la conversion de otros objetos a cadenas. La concate-nacion de cadenas se implementa a traves de la StringBuilder (o StringBuffer)clase y su metodo de concatenacion (append). Conversiones de Cadena se im-plementan a traves del metodo toString , definida por Object y heredado portodas las clases en Java.

    A menos que se indique lo contrario, pasar un argumento nulo para unconstructor o metodo en esta clase causara una NullPointerException para serlanzado.

    Un String representa una cadena en el formato UTF-16 en el que personajescomplementarios estan representados por pares suplentes. Los valores del ndicese refieren a char unidades de codigo, por lo que un caracter complementarioutiliza dos posiciones en un String .

    La clase String proporciona metodos para tratar con puntos de codigo Uni-code (es decir, caracteres), ademas de las que para hacer frente a unidades decodigo Unicode (es decir, char valores).

    Desde: JDK1.0

    4. Constructores de la clase String

    Cuando se discute acerca de las clases, uno de los temas mas importantestopicos serian los constructores. Cada clase tiene un constructor. Si no escribi-mos explcitamente un constructor para una clase el compilador de Java generaun constructor predeterminado para esa clase.

    Cada vez que se crea un nuevo objeto, se invocara al menos un constructor.La regla principal de los constructores es que ellos deben tener el mismo nombreque la clase. Como dato importante una clase puede tener mas de un constructor.

    8

  • Figura 6: Algunos de los constructores mas importantes en la clase String.

    Vemos un ejemplo:public class Carro {

    -public carro{

    -}

    public carro(String marca){

    // El constructor tiene solo un parametro, en este caso marca}}

    Observemos que en el ejemplo anterior tenemos dos constructores el primeroque es un con constructor sencillo en el cual podemos inicializar variables dela clase con los valores que nosotros queramos y el segundo es un constructorel cual acepta un parametro, es decir, para poder instanciar un objeto de estaclase con este constructor siempre vamos a tener que pasarle el nombre de lamarca.

    9

  • 5. Objetos en la clase String

    Como se menciono anteriormente, una clase proporciona los planos de obje-tos. As que, basicamente, un objeto se crea de una clase. En Java, la palabraclave new se utiliza para crear nuevos objetos.

    Existen tres pasos al crear un objeto de una clase:Declarar: Debemos declarar una variable con su nombre y con el tipo de

    objeto que va a contener. Instanciar: La palabra clave new se utiliza para crearel objeto. Inicializacion: La palabra clave new va seguida de una llamada a unconstructor. Esta llamada inicializa el nuevo objeto. Si seguimos el modelo delejemplo anterior:

    public class Carro {

    public carro(String marca){

    // El constructor tiene solo un parametro, en este caso marca

    System.out.println(La marca es : - marca );}public static void main(String []args){// Creamos la variable carroCarro miCarro = new Carro( Ford);}}

    Observemos que poseemos un constructor el cual recibe un parametro, eneste caso la marca del carro, el cual va a imprimir el nombre de la marca cadavez que inicializemos un objeto de la clase carro.

    A su vez con Carro miCarro = new Carro( Ford) estamos cumpliendo lospasos que explicamos anteriormente ya que declaramos una variable llamadamiCarro de la clase Carro, la instanciamos al hacerle new y la inicializamos alllamar al constructor con Carro( Ford). Si compilamos el condigo anteriorobtenemos:

    La marca es : Ford

    6. Acceso a variables

    Se accede a las variables y metodos de instancia a traves de los objetoscreados.

    Para acceder a la instancia de una variable la ruta de acceso completa debeser el siguiente:

    /* Primero creamos un objeto */Objeto = new Constructor();

    /* Ahora llamamos a la variable de la clase de la siguiente manera */Objeto.nombreDeLaVariable;

    /* Tambien podemos acceder al metodo de la clase */Objeto.nombreDelMetodo();

    10

  • EjemploVeamos un ejemplo que recopile todo lo que vimos hasta ahora:public class Carro{

    int kilometraje;

    public Carro(String marca){// El constructor tiene solo un parametro, en este caso marcaSystem.out.println(La marca es : - marca );}public void setKilometraje( int kilometraje ){this.kilometraje = kilometraje;}

    public int getKilometraje( ){System.out.println(El kilometraje es : + kilometraje );return this.kilometraje;}public static void main(String []args){/* Creacion */Carro miCarro = new Carro( Ford);

    /* Seteamos el kilometraje del carro */miCarro.setKilometraje( 2000 );

    /* Obtenemos el kilometraje del carro */miCarro.getKilometraje( );

    /* Tambien podemos acceder a la variable de la clase */System.out.println(Valor variable : + miCarro.kilometraje );}}

    Observemos lo siguiente: tenemos una clase llamada Carro, la cual poseeun constructor, dos metodos para modificar los valores de las variables de laclase(getKilometraje y setKilometraje). Y por ultimo tenemos un programa elcual instancia una variable de la clase Carro, le asigna el kilometraje de 2000 aese objeto y luego lo imprime en la consola. Si compilamos el ejemplo obtenemos:

    La marca es : FordEl kilometraje es : 2000Valor variable : 2000

    7. Excepciones

    Quiero mencionar las mas usuales de este paquete. Adelantar que una ex-cepcion se produce cuando ocurre un evento, un calculo, o una ejecucion de unainstruccion falla produciendose un problema por el que esa instruccion, calculo

    11

  • o evento no se puede realizar. As las mas tpicas excepciones pueden ser lassiguientes:

    ArithmeticException: se produce cuando hay un problema aritmetico, comopor ejemplo una division por cero.

    ArrayIndexOutOfBoundsException: producida cuando queremos acceder aun array con un ndice fuera de su rango.

    Exception: es la clase principal de todas las excepciones y de ellan cuelgantodas.

    NullPointException: normalmente producida cuando intentamos acceder aun objeto que esta apuntando a null.

    RunTimeException: Es una excepcion producida en tiempo de ejecucion delprograma, por tanto si queremos crear nuestras propias excepciones posiblemen-te debamos de crear nuestra clase heredando de esta.

    8. Conclusion

    Esta clase es muy util para el manejo de cadenas tiene metodos y objetosque facilitan la manipulacion de la informacion que se maneja en el sistema.

    12