CUARTO TALLER DE OBJETOS - LIBRERIAS

Elaborado por: Esmeide Leal Revisado por : Jaime Guzman,

PROGRAMACIÓN ORIENTADA A OBJETOS

A continuación se dará un repaso de las principales librerías o paquetes del lenguaje Java.

Librerías de clases fundamentales
Cadenas de caracteres: La clase java.lang.String String encapsula cadenas de caracteres y su manipulación String ≠ char[ ] Los caracteres de un String no se pueden modificar Constructores String (char[]) String (String) Creación de strings char[] chars = {'a','b','c'}; String s = new String (chars); String s1 = "Hello"; String s2 = new String (s1); Literales: Java crea objetos de tipo String para los literales Acceso (la notación str[n] no existe para String) String str = "abcdabc"; str.length (); // → 7 str.charAt (4); // → 'a' str.substring (3, 5); // → "da" str.indexOf ("bc"); // → 1 str.lastIndexOf ("bc"); // → 5 Manipulación (se devuelve un String) str.concat ("xyz"); // → "abcdabcxyz" str.toUpperCase (); // → "ABCDABC" str.replace ('b', 'x'); // → "axcdaxc" " Hola que tal ".trim (); // → "Hola que tal"

Universidad Nacional de Colombia - Medellín

lang. // str = "abqdef" Universidad Nacional de Colombia .Medellín .34567" String.trim (). // → "abcdabcxyz" str. // → 5 Manipulación (se devuelve un String) str. // → "ABCDABC" str.lastIndexOf ("bc").substring (3.length ().. // → "Hola que tal" Conversión a String: static String valueOf (<cualquier tipo>) String. 5).indexOf ("bc").Toman una capacidad inicial . // → "34" String. // → 1 str.length() + 16 caracteres Acceso (igual que para String): length ().. 'q'). . 'x').La incrementan cuando es necesario Constructores StringBuffer() // Capacidad inicial: 16 caracteres StringBuffer(int c) // Capacidad inicial: c caracteres StringBuffer(String s) // Capacidad inicial: // s. // → "da" str. // → 'a' str. // → 7 str. s3 = "abx".equals (s2). // → true s1. // → "2.setCharAt (2.compareTo (s3).valueOf (34).valueOf (2.replace ('b'. s1 == s2.valueOf (new Plano3D ()).Acceso (la notación str[n] no existe para String) String str = "abcdabc".StringBuffer Los caracteres de un StringBuffer sí se pueden modificar Los objetos de tipo StringBuffer gestionan automáticamente su capacidad .charAt (4). // → "Plano3D@1d07be" Comparación String s1 = "abc". // → -21 < 0 Cadenas de caracteres: La clase java.toUpperCase (). str. s2 = new String ("abc"). // → "axcdaxc" " Hola que tal ".34567). str. charAt (int). Conversión a String: toString () Modificación de la cadena StringBuffer str = new StringBuffer ("abcdef").concat ("xyz"). // → false s1.

nombre). } Universidad Nacional de Colombia . // str = "abqxyzdefghi" str.setIn(InputStream) Entrada estándar con java.23).setOut(PrintStream).insert (3.in Objeto de la clase java.io. capacity () setLength (int).InputStream Métodos: read ().IOException Redireccionamiento de la E/S estándar: System. // str = "abqxyz1. System.23defghi" str.out. public static void main (String args[]) throws IOException { BufferedReader reader = new BufferedReader (new InputStreamReader (System. // str = "abqdefghi" str.append(": ") .reverse (). // str = "abdefghi" (versión 1. read (byte []. 1.delete (2.BufferedReader InputStream → InputStreamReader → BufferedReader → String (System.io.insert (6.nombre + ": " + cliente. "xyz").in)). println (<cualquier tipo>).toString() Entrada y salida estándar: La clase java.in) import java.setErr(PrintStream) System. flush () System.err Objeto de la clase java.io.*.io.append ("ghi").io.append(cliente.2) str.str.dni).cedula new StringBuffer().Medellín .PrintStream Métodos: print (<cualquier tipo>). read (byte []). // str = "ihgfedba" Manipulación de longitud y capacidad length ().readLine (). System. ensureCapacity (int) Operador de concatenación: internamente se utiliza un StringBuffer "Cedula de " + cliente. int) Emiten java. int.System System. 10).lang. String str = reader.append(cliente.append("DNI de ") .

String str = reader.lang) Byte.IOException 54 Entrada y salida en Archivo binario:La clase java.readLine (). Emite java.BufferedReader Permite leer en modo texto (como con System.close()."r"). Short.close (). writeInt(int). writeBoolean(boolean). Integer n = new Integer ("23").PrintStream Permite escribir en modo texto (como con System.txt")). printer. int i = n. .. Double Encapsulamiento de valores para manejo genérico de tipos Integer m = new Integer (54). Métodos: readInt() → int. readBoolean() → boolean. Float.println (" = " + (2+2)).io.txt")).Medellín .intValue ().txt".IOException Clases para tipos numéricos (package java.io. getFilePointer(). Long. printer. etc. etc.io.. seek(long).in) BufferedReader reader = new BufferedReader (new FileReader ("abc.RandomAccessFile Permite leer y escribir tipos primitivos (no objetos) en forma binaria Abrir un Archivo // Modalidades: "r".io. Integer. Universidad Nacional de Colombia . "rw" RandomAccessFile f = new RandomAccessFile("abc. reader..print ("Dos + " + 2). length().close ().out) PrintStream printer = new PrintStream (new FileOutputStream ("abc.Escritura en Archivo en modo texto con java.. Emite java. setLength() Emiten java. . f. printer.io.io.IOException Lectura de Archivo en modo texto con java.

toUpperCase ('a'). // Integer → float short c = new Float (f) . // → true Character. // Boolean → String Funciones matemáticas: La clase java.4028235E38 // etc.NaN Clases para otros tipos primitivos Clase java. char ch = c. exp (double). round) Universidad Nacional de Colombia .valueOf ("91"). double). max (double.4E-45 Float. tan (double). // String → Boolean String s1 = b1. boolean b = b1. Math.MIN_VALUE → 1. // Float → short Variables de clase Integer.shortValue ().Medellín . sin(double).lang. etc.POSITIVE_INFINITY Float.isLetter ('a').Math Constantes: Math.NEGATIVE_INFINITY Float.MAX_VALUE → 2147483647 Float. (Existen versiones float. // → true Character.E Métodos: sqrt (double). long. // String → Integer String s1 = m.isLowerCase ('a').booleanValue (). // ch = 'A' Clase java. Float.Boolean Boolean b1 = new Boolean (true).MAX_VALUE → 3.Conversión a String y conversión entre tipos numéricos m = Integer. // Integer → String ( String s2 = String.valueOf ("true"). double).isDigit ('2').PI.floatValue (). int para abs. Boolean b2 = new Boolean ("false").lang.charValue (). max. log (double).lang. abs (double).toString (). random (). pow (double. // → true ch = Character.toString (). min. cos (double).valueOf (m). acos (double). Character.MIN_VALUE → -2147483648 Integer.Character Character c = new Character ('a'). b1 = Boolean. // Integer → String ) float f = m. round (double).

incremento Constructores ArrayList v = new ArrayList (). -3)). 1)).add (new Float (4. trimToSize () Iteración: iterator () → Iterator Iteración sobre un ArrayList: Interface java.util. lista. new Character ('b')). 1)). 4. ensureCapacity ().Iterator Métodos de la interfaz Iterator Ejemplo (suponiendo que la clase Punto3D tiene un método print ()) ArrayList lista = new ArrayList (). Universidad Nacional de Colombia . capacidad. "Hola".indexOf ("Hola"). // Capacidad inicial: 100 Ajustar la capacidad: ensureCapacity (). // lista = { } Inserción lista.5)).add (new Punto3D (-1. pero su capacidad aumenta o disminuye dinámicamente Longitud.add (new Integer (2)). lista. // lista = { 'b'.5 } lista. "Hola". 4. "Hola"). // Error lista. // lista = { 2 } lista.5 } lista.set (0. // Capacidad inicial: 10 ArrayList v = new ArrayList (100).add (new Punto3D (2. trimToSize () ArrayList lista = new ArrayList ().La clase java. lista. System.util. // → 1 (-1 si no encontrado) Longitud y capacidad: size ().get (1).remove (new Float (4. // lista = { "Hola" } Acceso // Suponiendo que lista = { 'b'.out. // → "Hola" lista.add(2). // lista = { 'b'. "Hola". // lista = { 2.Medellín . // lista = { 2. 4.5 } Eliminar elementos: lista. isEmpty ().println ("Los elementos de la lista son: ").5)). 4.ArrayList Conjunto variable de cualquier tipo de objetos Similar a array.5 } lista.remove(0).add (new Punto3D (0. "Hola" } lista.add (1.

// Con iterador for (int i = 0.text: DateFormat.print ()..System: in. Package java. Set.Runtime: getRuntime().{hasNext () → boolean.util: LinkedList.print ().iterator ().Medellín . i++) // Sin iterador ((Punto3D) lista. BigInteger (precisión y capacidad arbitrarias) La clase java. Otras clases Package java.math: BigDecimal.lang.hasNext()) ((Punto3D) iter. DecimalFormat Package java.get (i)) . i < lista. out.lang. next () → Object} while (iter.Iterator iter = lista. StringTokenizer. Date. exit(int) Universidad Nacional de Colombia .next ()) . Collections.. exec(String). exit(int) La clase java. HashMap.size ().