Java: control de excepciones
|
|
|
- Jaime López Torregrosa
- hace 10 años
- Vistas:
Transcripción
1 Introducción Java: control de excepciones Una excepción es un evento que ocurre durante la ejecución de un programa, y que interrumpe su flujo de control normal. Normalmente se encuentran asociadas a errores. Los errores pueden tener distintos orígenes: falla del disco duro, problemas en la red, problemas de programación (ej. división por cero), etc. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Actualización: 07 de marzo de Detección de errores Ejemplo 1 Cuando ocurre un error durante la ejecución de un método en Java se genera un objeto excepción que es enviado al ambiente de ejecución. El flujo de control normal del programa es interrumpido. El objeto excepción contiene información relativa al error, incluyendo el tipo del mismo y el estado del programa al momento de haberse producido. Cuando se genera el objeto excepción, el ambiente de ejecución busca en el stack de llamadas a métodos alguno que sea capaz de manejar la excepción (exception handler). Si no lo encuentra, la JVM se hace cargo de él, y el programa termina con un mensaje de error. Stack métodos Excepción método n método 2 método 1 JVM Un caso de división por cero: public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() { public class Division{ public static void main(string[] arg) { Par par = new Par( 100, 0 ); par.divide(); System.out.println( Fin programa ); Clase Par, recibe dos números enteros y permite obtener el cuociente entre ellos El objeto de la clase Par realizará una división por cero 3 4
2 Ejemplo 1: Stack de llamadas a métodos Ejecución del ejemplo 1 El método main invoca al método divide del objeto de la clase Par. Durante la ejecución del método divide se genera una excepción. divide main Java Virtual Machine par.divide(); (y = 0) Clase de excepción: java.lang.arithmeticexception Información: / by zero (división por cero) Stack de llamadas de métodos: 1. Método divide de la clase Par (archivo Par.java, línea 11) llamado por 2. Método main de la clase Division (archivo Division.java, línea 6) 5 6 La jerarquía de excepciones Opciones en el control de excepciones Object Throwable Frente a un determinado tipo de excepción un método puede: Lanzar la excepción fuera de él, para traspasar al método invocante la responsabilidad de tratar la excepción; o en caso de ser el primer método del stack de llamadas, traspasar la responsabilidad a la JVM. Capturar la excepción, y proveer un flujo de control alternativo. Error Exception Excepción RuntimeException Stack métodos divide main JVM 7 8
3 Control de excepciones: lanzamiento de una excepción Para indicar que un método traspasará la responsabilidad del control de excepciones al método llamante, se debe usar la cláusula throws en la declaración del método, seguida por el nombre de la excepción: Ejemplo: Nombre excepción public boolean startplaying() throws SoundException { Control de excepciones: lanzamiento de una excepción (cont.) Un ejemplo clásico: lectura de datos de la consola import java.io.* ; public class Factorial { public static void main( String arg[ ] ) throws IOException { int número=0, i=1, fact=1; BufferedReader lector = new BufferedReader( new InputStreamReader( System.in ) ); String ingresado=null; System.out.println( "Ingrese número para cálculo de factorial: " ); ingresado = lector.readline( ); número = Integer.parseInt( ingresado ); while( i <= número ) { fact = fact * i; i++; System.out.println( "El factorial de " + número + " es " + fact ); // Fin método main // Fin clase 9 10 Control de excepciones: captura de una excepción Control de excepciones: captura de una excepción (cont.) Las excepciones pueden ser capturadas y manejadas usando bloques try, catch y finally (operan en conjunto) El bloque try debe incluir las instrucciones que pueden generar la excepción que se desea manejar. Debe ser seguido por al menos un bloque catch o un bloque finally. El bloque catch debe seguir al bloque try, y debe contener las instrucciones que serán ejecutadas en caso de generarse una excepción. El bloque finally incluye las instrucciones que deberán ejecutarse independientemente de la generación (o ausencia) de una excepción (normalmente usados para liberar recursos). Formato general: El tipo de excepción (Tipo_Excepción1, Tipo_Excepción2, etc.) representa la clase de excepción que se puede generar en el bloque try que interesa capturar y controlar. Al producirse una excepción sólo uno de los bloques catch será ejecutado El orden de los catch es importante: las subclases de excepciones deben ser especificadas antes de sus superclases try { // instrucciones que pueden fallar catch (Tipo_excepción1 nombre_variable){ // instrucciones a ejecutar si se produce // una excepción tipo 1 catch (Tipo_excepción2 nombre_variable){ // instrucciones a ejecutar si se produce // una excepción tipo 2 catch (Tipo_excepciónN nombre_variable){ // instrucciones a ejecutar si se produce // una excepción tipo N finally{ // instrucciones a ejecutar siempre 11 12
4 Control de excepciones: captura de una excepción (cont.) (Nuevamente) el ejemplo clásico: import java.io.* ; public class Factorial { public static void main( String arg[ ] ){ int número=0, i=1, fact=1; BufferedReader lector = new BufferedReader( new InputStreamReader( System.in ) ); String ingresado=null; System.out.println( "Ingrese número para cálculo de factorial: " ); try { ingresado = lector.readline( ); número = Integer.parseInt( ingresado ); while( i <= número ) { fact = fact * i; i++; System.out.println( "El factorial de " + número + " es " + fact ); catch( IOException e ) { System.out.println( "Error de input." ); // Fin método main // Fin clase 13 Ejemplo 2: captura de una excepción public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() { try{ catch(arithmeticexception e){ return ; public class Division{ public static void main(string[] arg) { Par par = new Par( 100, 0 ); int res = par.divide(); System.out.println( "El cuociente es: " + res ); En este caso la excepción es interceptada en el método divide Nota: en el ejemplo es discutible la decisión de retornar esta constante en caso de error en la división 14 Ejecución del ejemplo 2 A pesar del error el programa completa su ejecución normalmente: Información relacionada con la excepción Toda instancia de excepción tiene un método printstacktrace, que imprime el stack de llamadas de métodos al momento de generarse. Este método puede ser utilizado para proporcionar información relacionada con la excepción dentro del bloque catch correspondiente: Qué ocurre? La excepción se produce en el método divide() de la clase Par, dentro del bloque try. Esta excepción es capturada en el bloque catch, y el código escrito en este último es ejecutado. try { // instrucciones que pueden fallar catch (Tipo_excepción nombre_variable){ nombre_variable.printstacktrace(); 15 16
5 Ejemplo 3: impresión de la información asociada a la excepción Ejecución del ejemplo 3 1 public class Par { 2 int x, y; 3 public Par(int x, int y ){ 4 this.x = x; 5 this.y = y; 6 7 public int divide() { 8 try{ 9 10 catch(arithmeticexception e){ 11 e.printstacktrace(); 12 return ; El objeto excepción es referenciado al interior del bloque catch por medio de la variable e Se invoca el método printstacktrace sobre el objeto excepción El programa ahora indica el tipo de excepción y lugar donde ésta se produjo: 1 public class Division{ 2 public static void main(string[] arg) { 3 Par par = new Par( 100, 0 ); 4 int res = par.divide(); 5 System.out.println( "El cuociente es: " + res ); 6 7 Notar que el programa termina su ejecución normalmente La clase RuntimeException Representa excepciones comunes que se presentan en la JVM durante la ejecución de programas. Ejemplo: NullPointerException. La clase RuntimeException (cont.) Ejemplo: ArithmeticException es subclase de RuntimeException. Por tanto las siguientes implementaciones de la clase Par son equivalentes: Debido a la ubicuidad de este tipo de excepciones, el compilador permite no especificar el mecanismo de control de las RuntimeExceptions: cuando este mecanismo no es especificado, estas excepciones serán lanzadas fuera del método actual. RuntimeException public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() throws ArithmeticException { public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() { NullPointerException 19 20
6 Crear nuevas excepciones Se pueden crear nuevas excepciones extendiendo la clase Exception o una de sus subclases. La clase Exception ofrece distintos constructores que pueden ser referenciados desde las subclases. Los más utilizados son: public Exception(): inicializa la excepción con valores de default (mensaje nulo) public Exception(String mensaje): inicializa la excepción con el mensaje recibido como parámetro. Nota: la clase RuntimeException también puede ser extendida. Crear nuevas excepciones (cont.) Ejemplo: public class UnsupportedMediaException extends Exception{ public UnsupportedMediaException(){ super( The selected media is not supported. ); Convención: el nombre de las excepciones termina en la palabra Exception Lanzamiento de una excepción Una excepción puede ser lanzada en cualquier parte del código usando la instrucción throw acompañada de la referencia a un objeto excepción: throw new NombreExcepción( parámetros_constructor ) Ejemplo: public void savedata throws UnsupportedMediaException{ if(!iscompatible( requestedmedia ) ) throw new UnsupportedMediaException(); 23 Ejemplo 4: creación y lanzamiento de excepciones public class Test{ public static void main(string[] arg) throws UnsupportedMediaException { Recorder r = new Recorder( "CD" ); r.saveon( "DVD" ); System.out.println( "Saved." ); public class Recorder { String media; public Recorder( String mediatype ){ media = mediatype; public void saveon( String mediatype ) throws UnsupportedMediaException{ if( media.equals( mediatype ) ) System.out.println( "Saving." ); else throw new UnsupportedMediaException(); public class UnsupportedMediaException extends Exception { public UnsupportedMediaException() { super( "The selected media is not supported" ); 24
7 Ejecución del ejemplo 4 La excepción definida se comporta como cualquier otra excepción: Ejercicio Se pide crear la clase Temperature, para registrar temperaturas en grados Celsius (ºC) y Kelvin (ºK). Una instancia de la clase deberá almacenará un valor de temperatura y lo retornará en cualquiera de las escalas. Para ello la clase deberá ofrecer los métodos setc y setk para establecer valores en ºC y ºK, y los métodos getc y getk para retornar los valores en ºC y ºK, respectivamente. Notar que no es físicamente posible admitir temperaturas inferiores a los 0ºK, por lo tanto será necesario generar una excepción (IllegalTemperatureException) cuando un valor fuera de rango trate de ser ingresado. Genere las clases indicadas, y una aplicación que permita ingresar valores y visualizarlos Discusión Excepciones: caso del Ariane 5 Considere los siguientes ejemplos: Una clase CuentaCorriente (que maneja una cuenta bancaria) no debe admitir giros mayores que el saldo disponible. En caso de ser inadmisible el giro, éste podría ser impedido: Retornado false en el método que efectúa el giro. Generando una excepción en el método que efectúa el giro. En la clase Temperature del ejemplo anterior se genera una excepción cuando se trata de establecer una temperatura inválida. Alternativamente se podría haber obviado la creación de la excepción, y haber retornado falso en los métodos setk y setc. Vuelo 501, 4 de Junio de 1996, autodestrucción en H0 +39 : Cuándo conviene generar excepciones? Costo: 500 millones de dólares 27 28
8 Excepciones: caso del Ariane 5 (cont.) Sistema de control de vuelo: Plataforma de referencia inercial Lecturas de giroscopios y acelerómetros SRI-1 OBC-1 SRI-2 Bus de datos OBC-2 Servo-válvulas y actuadores hidráulicos MOTORES SRI: Inertial Reference System OBC: On-Board Computer Excepciones: caso del Ariane 5 (cont.) Reporte del equipo de investigación sobre la falla del vuelo 501: Aproximadamente en el instante H0 +39 segundos, el Ariane 5 comenzó a desintegrarse debido a esfuerzos aerodinámicos excesivos ocasionados por un ángulo de ataque inapropiado. Esto condujo a la separación de los propulsores auxiliares respecto del cuerpo principal de la nave, por lo que se gatilló el mecanismo de autodestrucción del cohete. Este ángulo de ataque resultó ser consecuencia de una completa desalineación entre las toberas de los propulsores auxiliares y aquella del motor principal. La desalineación de las toberas fue comandada por el OBC a partir de información transmitida por el SRI-2. Parte de estos datos no contenían información de vuelo, sino un patrón de diagnóstico del SRI, el cual fue interpretado como información de vuelo. La razón por la cual el SRI-2 no envió datos reales es que la unidad se había declarado en falla por una excepción de software Excepciones: caso del Ariane 5 (cont.) El OBC no pudo acceder al SRI-1 porque este se había desactivado algunos milisegundos antes por la misma razón que el SRI-2. La excepción interna en el software del SRI fue ocasionada durante la ejecución de una instrucción de conversión de un valor en formato punto flotante de 64 bits a entero con signo de 16 bits, en circunstancias que el valor excedía la capacidad del tipo entero. La operación de conversión no estaba protegida, aún cuando asignaciones de variables similares sí lo estaban. El valor que se intentó convertir correspondía a la magnitud de la variable HB (desviación horizontal), significativa sólo durante la fase de alineación previa al despegue. Sin embargo, esta función de cálculo se mantuvo operativa durante 40 segundos tras el despegue por un requerimiento en el diseño del Ariane 4, no presente en el Ariane 5 (el diseño del SRI de ambas naves era en práctica idéntico). La conversión del valor de la variable HB no estaba protegida porque el Ariane 4 realizaba una trayectoria inicial distinta a la del Ariane 5, en la cual dicha variable nunca tomaría valores fuera del rango esperado. 31 Excepciones: caso del Ariane 5 (cont.) Comentarios: La operación inválida generaba correctamente una excepción. Sin embargo, el mecanismo de gestión de excepciones no fue diseñado para responder adecuadamente. El mecanismo de tolerancia a fallas del Ariane 5 estaba concebido para tratar fallas aleatorias (por ej. malfuncionamiento del hardware de uno de los computadores), no errores de diseño (ambas SRI experimentaron el mismo comportamiento al momento de producirse la falla). El equipo de investigación sobre el accidente sugirió cambiar el enfoque de desarrollo utilizado hasta entonces, el software se considera correcto hasta que se demuestra que falla, por el enfoque se asume que el software es defectuoso hasta que, tras aplicar métodos aceptados como buenas prácticas, se logre demostrar que está correcto. 32
Java: control de excepciones
Java: control de excepciones Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Introducción v Una excepción es un evento que ocurre
Uso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
Java: Clases Abstractas e Interfaces
Clases abstractas e interfaces Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] A nivel conceptual,
Programación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Excepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 6 Excepciones Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Qué son? Excepciones
Programación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Tema 14: Excepciones
Tema 14: Excepciones 0 Excepción Definición Las Excepciones son objetos que definen el estado de la aplicación cuando se producen situaciones anómalas. Son un mecanismo usado por muchos lenguajes de programación
Modelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Introducción - por qué usarlas?(1)
Excepciones en Java Introducción - por qué usarlas?(1) En el mundo de la programación hay algo que siempre ocurre: los errores en los programas. Pero qué sucede realmente después de que ha ocurrido el
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:
EXCEPCIONES EN JAVA Uno de los problemas más importantes al escribir aplicaciones es el tratamiento de los errores. Errores no previstos que distorsionan la ejecución del programa. Las excepciones de Java
SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
Repaso de las características más importantes de la programación Java y su adaptación a Android
Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y
Preliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
Solución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Sintaxis y Convenciones de Java. M. en C. Erika Vilches
Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando
FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
Pruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes
Tema 1. Introducción a JAVA
Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems
HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
Programación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer [email protected] Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.
Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar
Técnicas Avanzadas de Testing Automatizado
Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados
Práctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Capitulo 3. Test Driven Development
Capitulo 3. Test Driven Development 3.1 Uso de JUnit como framework para realizar pruebas unitarias Como ya se mencionó en el marco teórico Test Driven Development es una técnica de programación extrema
1. Visión general de RMI
1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina
11. Algunas clases estándar de Java (II)
122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación
TEMA 5. EXCEPCIONES EN JAVA... 1 5.1 DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN... 2 5.2 TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS... 10 5.
TEMA 5. EXCEPCIONES EN JAVA... 1 5.1 DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN... 2 5.2 TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS... 10 5.3 TRABAJANDO CON EXCEPCIONES: DECLARACIÓN, CONSTRUCCIÓN,
Introduciendo datos desde el
Introduciendo datos desde el teclado Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Crear programas interactivos que lean datos
Multitarea en Java. Rafa Caballero - UCM
Multitarea en Java Rafa Caballero - UCM Programa Monoproceso (monotarea) En cada momento hay una única instrucción ejecutándose Se dice que el programa es monotarea, o monoproceso o monohebra (o single
Práctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.
CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA
class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }
REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)
Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática
Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Generación de excepciones.
BPMN básico. Clase Modelos de Procesos. Javier Bermudez ([email protected])
BPMN básico Clase Modelos de Procesos Javier Bermudez ([email protected]) Para qué modelar? Para sacar el mejor provecho a los artefactos creados por el hombre 2 BPMN Historia Mayo 2004: BPMI Lanza propuesta
Elementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Universidad de Cantabria [email protected]
Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una
Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Objetivo de aprendizaje del tema
Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN PROYECTO DE CÁTEDRA. MATERIA: Introducción a la Programación
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN CICLO 01-2015 PROYECTO DE CÁTEDRA MATERIA: Introducción a la Programación Indicaciones generales: El proyecto a continuación,
8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Definición de clases: Herencia, polimorfismo, ligadura dinámica
Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual
SIIGO PYME PLUS. Proceso de Recuperación. Cartilla I
SIIGO PYME PLUS Proceso de Recuperación Cartilla I Tabla de Contenido 1. Presentación 2. Qué es el Proceso de Recuperación? 3. Cuál es el Objetivo del Proceso de Recuperación? 4. Cuáles son los Pasos que
Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Acronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Creación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
Introducción a Java LSUB. 15 de enero de 2015 GSYC
Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
Práctica: Creación de un programa C# sencillo
Introducción a C# 1 Práctica: Creación de un programa C# sencillo Objetivos Al final de esta práctica, usted será capaz de: Crear un programa C#. Compilar y ejecutar un programa C#. Usar el Visual Studio
Manual del Protocolo XML-RPC de Mensajería Negocios
Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...
Concurrencia en Java
Concurrencia en Java Herramientas proporcionadas por Java La Máquina Virtual (JVM) Pedro Pablo Gómez Martín La clase Thread Clase principal con la que conseguir concurrencia. La llamada a su método start()
Tema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...
Contenido Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... 5 Introducción Es tiempo de hablar en detalle de lo que significa
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto
1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación NORMAS PARA LA ENTREGA DE LOS LABORATORIOS Coloque el nombre de los integrantes del grupo, nombre del profesor,
Examen de Prácticas de Programación Ingeniería Informática
Examen de Prácticas de Programación Ingeniería Informática Septiembre 2007 1) (3.5 puntos) Se pretende desarrollar un programa para gestionar las reparaciones de coches realizadas en un garaje. Del análisis
2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Un breve resumen del lenguaje Java
Un breve resumen del lenguaje Java 1.1. Órdenes para trabajar con código Java desde una máquina Unix.............. 1 1.2. Comentarios......................................... 2 1.3. Declaración de datos
Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.
Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores
FACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Programación en Java. Programación en OO
Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,
Estructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación
Primer Parcial Septiembre 5 de 2009
Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010
Java en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión
Remote Method Invocation (RMI) de Java
Remote Method Invocation (RMI) de Java Concurrencia y Distribución Programación Avanzada Posgrado en Ciencia e Ingeniería de la Computación, UNAM 1. Introducción El mecanismo RMI (Remote Method Invocation)
MANTENIMIENTO Y SOPORTE
MANTENIMIENTO Y SOPORTE Copyright 2014 Magalink SA Todos los derechos reservados. Este documento no puede ser reproducido de ninguna manera sin el consentimiento explícito de Magalink S.A. La información
Patrones para persistencia (I) Ingeniería del Software II
Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura
UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007
UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA LENGUAJES Y SISTEMAS INFORMÁTICOS PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 Qué es el análisis
Introducción a la Programación en Java
Contenido Introducción a la Programación en Java Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected]! Generalidades de Java! Elementos
El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Introducción a la Firma Electrónica en MIDAS
Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Primer Parcial de Programación 3 (1/10/2009)
Primer Parcial de Programación (/0/009) Instituto de Computación, Facultad de Ingeniería Este parcial dura horas y contiene carillas. El total de puntos es 0. En los enunciados llamamos C* a la extensión
Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos
Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos [email protected] Facultad de Ciencias
Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA [email protected].
Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA [email protected] Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Parte I: Programación en un lenguaje orientado a objetos
Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento
VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
1. Qué tipos de relación hay entre las siguientes clases?
Ejercicios Tema 8: Herencia 1. Qué tipos de relación hay entre las siguientes clases? Personal de la Universidad PAS Profesor 1 n Estudiante a) herencia y asociación b) herencia y dependencia c) dependencia
Tema: Clases y Objetos en C++.
1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica
1. Creación del repositorio
FACULTADE DE INFORMÁTICA Departamento de Computación Tecnología de la Programación 2008-2009 Ingeniería Informática Práctica 1: Subversion Introducción El objetivo de esta práctica es aprender a manejar
Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2
Tema 9 Llamada a métodos remotos (RMI). Departament d Informàtica. Índice 1. Introducción 2 1.1. Cómo funciona RMI?.......................................... 2 2. Usando RMI 4 2.1. Fase de desarrollo:
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.
Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos
Objetos y Clases en Java ELO 329: Diseño y Programación Orientados a Objetos 1 Elementos de Análisis y Diseño orientado a objetos Notación y relaciones entre clases: Las clases son abstracciones para los
Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).
CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de
Arquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos
Invocación de Métodos Remotos RMI: Remote Method Invocation Prof Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos
Introducción al lenguaje Java
Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno
