Programación Avanzada para Sistemas de Telecomunicación Tipos primitivos y clases de interés Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Tipos primitivos. Clase String y asociadas. Clases asociadas.
Tipos primitivos Tipo byte short int long Longitud (en bytes) 1 2 4 8 Rango de valores -128 a +127-32768 a + 32767-2.147.483.648 a +2.147.483.647-9.223.372.036.954.775.808 a +9.223.372.036.954.775.807 Tipos primitivos Tipo float double char boolean Longitud (en bytes) 4 (entre 6 y 7 cifras decimales de precisión) 8(unas 15 cifras decimales de precisión) 2 1 Rango de valores -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 true y false
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. 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.
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 */ 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.
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: 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.
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).