3. 3
Integer
objetos inmodificables, contienen un int
Class Integer {
Integer(int value)
Integer(String value)
int intValue()
static int parseInt(String s)
}
¡2 constructoras!
El valor contenido
¡inmodificable!
Conversión String a int
static => método de la clase
¡cómo una función de C!
¡no hay que crear un objeto para usarlo!
4. 4
Long
objetos inmodificables, contienen un long
Class Long {
Long(long value)
Long(String value)
long longValue()
static long parseLong(String s)
}
¡2 constructoras!
El valor contenido
¡inmodificable!
Conversión String a long
5. 5
Double
objetos inmodificables, contienen un double
Class Double {
Double(double value)
Double(String value)
double doubleValue()
static double parseDouble(String s)
}
¡2 constructoras!
El valor contenido
¡inmodificable!
Conversión String a double
6. 6
Float
objetos inmodificables, contienen un float
Class Float {
Float(float value)
Float(String value)
Float floatValue()
static float parseFloat(String s)
}
¡2 constructoras!
El valor contenido
¡inmodificable!
Conversión String a double
7. 7
Character
objetos inmodificables, contienen un char
Class Character {
Character(char value)
char charValue()
static char parseChar(String s)
}
¡LA constructora!
El valor contenido
¡inmodificable!
¡NO existe!
8. 8
Class String {
String(char[] value)
static String valueOf(int s)
...
static String valueOf(double s)
byte[] getBytes()
}
¡hay más constructoras!
String
objetos inmodificables, contienen un
string
10. 10
¿Qué son las excepciones en java?
Durante la ejecución de un programa,
pueden alcanzarse situaciones de error
El flujo de control se transfiere a un gestor
de excepciones
La información referente a las causas de la
situación de error está incluida en un objeto
java.lang.Exception
11. 11
¿Cómo es un gestor de excepciones
en java?
try {
} catch (Exception exc){
}
Un bloque de instrucciones cualquiera
Instrucciones para gestionar la excepción
La referencia del objeto Excepcion que representa la causa del fallo
Se usará en ese bloque de instrucciones
Un identificador
cualquiera
12. 12
Class Exception {
Exception()
Exception(String value)
String toString()
void printStackTrace()
}
¡hay más constructoras!
java.lang.Exception
objetos inmodificables, representan
situaciones de error
13. 13
¿cómo abortar la ejecución?
Exception exc =
new Exception(“Fallo gordo”);
throws exc;
1) Creando una
Exception
La instrucción throws hace que se transfiera la ejecución al
Try{ … } catch ( … ){}
Correspondiente: ¡como en Ada, C++!
Vale cualquier
referencia de un
Exception
14. 14
¿Hay más tipos de errores?
Hay una jerarquía de excepciones
java.lang.Exception
java.io.IOException RuntimeException
InterruptedException
¡Se pueden añadir clases!
(y es muy común)
15. 15
Un experimento
Escribe un programa simple que use un
CalculadorImp
sin interfaz gráfica, sin E/S
Modifica el calculador de manera que su
método aborte así:
throws new RuntimeException();
Analiza el resultado producido
¿incluye suficiente información?
16. 16
Un experimento (2)
Define una clase PPCException
extendiendo la clase
RuntimeException
Modifica el calculador de manera que su
método aborte así:
throws new PPCException();
Analiza el resultado producido
¿cómo incluirías más información?
O con
cualquier
otro nombre
17. 17
Un experimento (3)
Modifica la clase PPCException
extendiendo la clase
Exception
Comprueba que el compilador no acepta la
nueva versión de CalculadorImp:
¿por qué?
18. 18
Class CalculadorImp {
int factorial(int value)
throws PPCException;
} ¡hay que incluir todos los tipos de
excepciones que puedan generarse…!
¡Salvo que sean RuntimeException!
Métodos, excepciones y
java.lang.RuntimeException
21. 21
Una tarea:
Duplicar un archivo dado…
java.io.File: rutas de acceso a archivos
java.io.FileInputStream,
java.io.FileOutputStream: permiten
leer/escribir byte-por-byte el contenido de un
archivo
javax.swing.JFileChooser: permite navegar
interactivamente por el sistema de archivos
22. 22
…o duplicarlo línea por línea
java.io.FileReader: leer el contenido de
un archivo carácter a carácter (codif. ASCII)
java.io.LineNumberReader: leer el contenido
de un archivo línea por línea
java.io.PrintStream: permite escribir
el contenido de un archivo de texto