Programación Avanzada para Sistemas de Telecomunicación Tipos primitivos y clases de interés Juan Carlos Cruellas [email protected] Departamento Arquitectura Computadores © J.C. Cruellas Grupo de Aplicaciones Telemáticas U PC Objetos y clases • Tipos primitivos. • Clase String y asociadas. • Clases asociadas. Departamento Arquitectura Computadores U PC © J.C. Cruellas Grupo de Aplicaciones Telemáticas Tipos primitivos Tipo Longitud (en bytes) byte 1 -128 a +127 short 2 -32768 a + 32767 int 4 long 8 -2.147.483.648 a +2.147.483.647 -9.223.372.036.954.775.808 a +9.223.372.036.954.775.807 Departamento Arquitectura Computadores © J.C. Cruellas Rango de valores Grupo de Aplicaciones Telemáticas U PC Tipos primitivos Tipo Longitud (en bytes) float 4 (entre 6 y 7 cifras decimales de precisión) double 8(unas 15 cifras decimales de precisión) char 2 -3.402823E38 / 1.401298E-45 y 1.401298E-45 / 3.402823E38 -1.79….E308 / -4.9…E-324 y -4.9..E-324 / 1.79…E308 UNICODE boolean 1 true y false Departamento Arquitectura Computadores U PC © J.C. Cruellas Rango de valores Grupo de Aplicaciones Telemáticas Tipos primitivos. Clase String y asociadas • La distribución estándar de Java incluye una biblioteca de clases predefinidas (cuyo código fuente es accesible). • Entre las más utilizadas se encuentran la clase String y sus asociadas (como StringBuffer).. • Los objetos de clase String son secuencias de caracteres Unicode que NO pueden ser alteradas en sus contenidos. Departamento Arquitectura Computadores © J.C. Cruellas Grupo de Aplicaciones Telemáticas U PC Tipos primitivos. Clase String y asociadas String hola = new String(“hola”) ; String hola2 = “hola2” ; – Ambas sentencias crean sendos objetos String con los contenidos que aparecen entre comillas. String hola = new String(“hola”) ; hola = “hola2” ; – Cada sentencia hace que se reserve un bloque en memoria. Cuando se altera el valor de una variable String, lo que se hace es reservar un nuevo bloque de memoria y dejar el anterior inservible. Departamento Arquitectura Computadores U PC © J.C. Cruellas Grupo de Aplicaciones Telemáticas Tipos primitivos. Clase String y asociadas • Algunas funciones útiles: – equals(String s): compara el contenido del objeto string con el string pasado como argumento. ATENCIÓN: PARA COMPARAR CONTENIDOS DE OBJETOS NO DEBE USARSE ==: ESO SOLO COMPARA REFERENCIAS, NO CONTENIDOS. – Funciones public static String valueOf(): hay una serie de funciones a las que se pasa 1 argumento de un tipo simple (int, float, etc) y estas funciones devuelven su representación textual como un string. – String strVal = String.valueOf(12) ; /* strVal tendría como valor el string “12” */ Departamento Arquitectura Computadores © J.C. Cruellas Grupo de Aplicaciones Telemáticas U PC Tipos primitivos. Clase String y asociadas • StringBuffer: – Clase cuyo contenido es una secuencia de caracteres que puede variar con el tiempo. StringBuffer hola = new StringBuffer(“hola”) ; – A la variable hola puede cambiársele el valor: hola.append(“ mundo”) ; – Que hace que hola contenga el string: “hola mundo”. Departamento Arquitectura Computadores U PC © J.C. Cruellas Grupo de Aplicaciones Telemáticas Tipos primitivos. Clases asociadas a los tipos primitivos • Por cada tipo primitivo existe una clase asociada: Integer, Short, Long, Char, Byte, Float, Double, Boolean. • Todas estas clases tienen un constructor con un argumento del tipo primitivo correspondiente. • No hay funciones para alterar el valor del dato contenido en el objeto y fijado a través del constructor. • Hay algunas funciones de interés: Departamento Arquitectura Computadores © J.C. Cruellas Grupo de Aplicaciones Telemáticas U PC Tipos primitivos. Clases asociadas a los tipos primitivos • Clase Integer: – Java define la clase String: una secuencia de caracteres constante. Para obtener un string con la representación textual de un entero: • public String toString(): devuelve un string con la representación textual del entero. • public static String toString(int i): devuelve un string con la representación textual del entero i pasado como argumento. Usada cuando se quiere pasar de número a string. Notar que se trata de una función estática: NO hace falta crear un objeto de la clase Integer. Departamento Arquitectura Computadores U PC © J.C. Cruellas Grupo de Aplicaciones Telemáticas Tipos primitivos. Clases asociadas a los tipos primitivos • public static int parseInt(String s):devuelve el entero al que representa el string s si es, efectivamente, una representación correcta del entero. • El resto de clases tienen funciones similares que convierten a y desde string. • En definitiva, estas clases poseen funciones (estáticas y no estáticas) que son de mucha utilidad en conversiones valores <-> representaciones textuales (string). Departamento Arquitectura Computadores U PC © J.C. Cruellas Grupo de Aplicaciones Telemáticas