Lenguaje Java Fundamentos del lenguajes de programación

Slides:



Advertisements
Presentaciones similares
2. Manejo de memoria Manejo de memoria estática
Advertisements

Curso de java básico (scjp)
Exceptions y Assertions Introducción a la terminología Bloques: try, catch Uso de finally Bloques: try, catch, finally Categorías de Exceptions Excepciones.
Curso de java básico (scjp)
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Definición de Clases y Variables de referencia.
Programación Interactiva Manejo de Excepciones
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Procedimientos y Funciones
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Conceptos Básicos de Java
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.

Material de apoyo Unidad 2 Estructura de datos
POO Java Módulo 3 Elementos de programas Identificadores
Lic. Rosemary Torrico Bascopé
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
SCJP Sun Certified Programmer for Java 6
Semana 5 Subprogramas..
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
Tema 11: Excepciones Antonio J. Sierra.
Clases y objetos. La unidad fundamental del lenguaje Java es la clase, que proporciona la estructura de los objetos y mecanismos para fabricarlos, a partir.
Material de apoyo Unidad 4 Estructura de datos
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
Excepciones Unidad 5.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Informática Ingeniería en Electrónica y Automática Industrial
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Elementos básicos del lenguaje
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Programación Orientada a Objetos
Programación orientada a objetos Capítulo 12 Manejo de errores.
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
FUNDAMENTOS DE PROGRAMACIÓN
ESMERALDA LIMÓN ESCUTIA AURORA MENDOZA PASTRANA RUTH LÓPEZ muñoz I.S.C
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Tratamiento de excepciones
INTRODUCCION A LA PROGRAMACION
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Lic. Carla Aguirre Montalvo
¿Qué son? – tipos – manejo - ejemplos
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Conceptos y Lenguaje Imperativo
MEMORIA DINÁMICA.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Clases “ Es una Abstracción de un elemento del mundo real ”
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
 Los nombres de las excepciones indican la condición de error que representan. Las siguientes son las excepciones predefinidas más frecuentes que se.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Lenguaje Java Fundamentos del lenguajes de programación Sergio Cardenas Renzo Flores Hugo Gallardo 4/12/2017

Contenido Variables Subrutinas Objetos & Clases Excepciones 4/12/2017

Variables Todas las variables han de declararse antes de usarlas, la declaración consiste en una sentencia en la que figura el tipo de dato y el nombre que asignamos a la variable. Una vez declarada se le podrá asignar valores. Java tiene tres tipos de variables: de instancia de clase locales 4/12/2017

Variables de instancia se usan para guardar los atributos de un objeto particular. Las variables de instancia son inicializadas automáticamente, de la siguiente forma: Las numéricas a 0. Las booleanas a false. Las char al caracter nulo (hexadecimal 0). Las referencias a null. Nota: null es un literal que indica referencia nula. 4/12/2017

Variables de Clase Son similares a las variables de instancia, con la excepción de que los valores que guardan son los mismos para todos los objetos de una determinada clase. 4/12/2017

Variables Locales Se utilizan dentro de las funciones miembro o métodos. Una variable local existe desde el momento de su definición hasta el final del bloque en el que se encuentra. En el lenguaje Java, las variables locales se declaran en el momento en el que son necesarias. Es una buena costumbre inicializar las variables en el momento en el que son declaradas. Las variables locales no se inicializan automáticamente. Se debe asignar un valor antes de ser usadas. Si el compilador detecta una variable local que se usa antes de que se le asigne un valor produce un error. 4/12/2017

Variables II Las variables no son mas que un espacio en la memoria principal del computador que nos sirve para almacenar datos, en donde su tamaño dependerá principalmente del tipo de variable con la que es declarada. Los tipos de datos pueden ser numéricos, alfabéticos o booleanos y los datos que contengan pueden ir variando en la ejecución del programa. Para poder utilizar una variable es necesario primero crearla y darle un identificador con el cual haremos referencia a dicho espacio de memoria. 4/12/2017

Para crear una variable en Java se hace de la siguiente manera: Tipo_de_variable Identificador; El identificador puede empezar con minúscula, mayúscula, con un guion bajo ( _ ) o con el signo peso ( $ ), pero no puede empezar con números ni mucho menos llamarse igual que a una palabra reservada del lenguaje.

TIPOS DE DATOS  Java es un lenguaje con control fuerte de Tipos (Strongly Typed). Esto significa que cada variable y cada expresión tiene un Tipo que es conocido en el momento de la compilación. El Tipo limita los valores que una variable puede contener, limita las operaciones soportadas sobre esos valores y determina el significado de la operaciones. El control fuerte de tipos ayuda a detectar errores en tiempo de compilación.  4/12/2017

Tipos de datos II El lenguaje Java utiliza el conjunto de caracteres Unicode, que incluye no solamente el conjunto ASCII sino también carateres específicos de la mayoría de los alfabetos. Así, podemos declarar una variable que contenga la letra ñ int año=1999; 4/12/2017

Asignación El proceso en el cual se almacena un dato en una variable se llama asignación y se realiza mediante el operador de asignación “=”, se pueden asignar también valores de otras variables del mismo tipo, o relacionadas.   Ejemplo: float pi = 3.14159; double x = pi; 4/12/2017

Asignación II Java además proporciona varios operadores de asignación que permiten realizar un atajo en la escritura de código. 4/12/2017

La forma general de una función es: Subrutinas En Java una función (subrutina) es una parte del programa separado del cuerpo principal, que realiza una tarea especifica y que puede regresar un valor a la parte principal del programa, a otra función o a un procedimiento que la halla invocado. La forma general de una función es: tipodatoregresa Nom_fun(parámetros) { cuerpo de instrucciones; instrucción return; }

Aunque no se ocupen parámetros los paréntesis son requeridos. tipodatoregresa Nom_fun(parámetros) { cuerpo de instrucciones; instrucción return; } Tipodatoregresa: Es el tipo que especifica el valor que la función regresara utilizando la instrucción return. Si no se especifica un tipo se asume de default que el tipo regresado es int. La lista de parámetros es una lista de variables separadas por comas (,) que almacenaran los valores que reciba la función, estas variables actúan como locales dentro del cuerpo de la función. Aunque no se ocupen parámetros los paréntesis son requeridos.

Es permitido poner más de un return en el cuerpo de instrucciones sobre todo en condiciones, pero solo un return se ejecutara. Ejemplo; if (suma >= 10) { return 10; } else { return 20; }

Es importante recordar que en java, los parametros de los tipos primitivos (int, long, etc.) y objetos, SIEMPRE se pasan por valor. Paso por valor: Significa que cuando un argumento se pasa a una función, la función recibe una copia del valor original. Por lo tanto, si la función modifica el parámetro, sólo la copia cambia y el valor original permanece intacto.

Tipos de retornos: En un método que devuelve un objeto (de hecho, una referencia), se puede devolver null public Button metodo(){     return null; } Un array (o arreglo) es un tipo de retorno legal public String[] metodo(){     return new String[] {"hugo","paco","luis"}; } Un método con tipo de retorno void no devuelve nada! public void inicializar(){     return; }

En un método con un tipo de dato primitivo como retorno, se puede devolver cualquier valor o variable que pueda ser implícitamente convertida hacia el tipo de retorno declarado public int Turno(){     char c = 'c';     return c; //devuelve un char casteado a int } En un método con un tipo de dato primitivo como retorno, se puede devolver cualquier valor o variable que pueda ser casteada hacia el tipo de retorno declarado public int Peso(){     float f = 79.5f;     return (int) f; } En un método con un objeto como tipo de retorno se puede devolver cualquier tipo de objeto que pueda ser implícitamente convertido hacia el tipo de retorno declarado public Figura getFigura(){     return new Triangulo; }

Tiempo de vida En java el tiempo de vida de una variable u objeto es controlada mediante el “Recolector de Basura”. Cuando ya no se necesita un objeto simplemente puede dejar de referenciarse. No existe una operación explícita para 'destruir' un objeto o liberar el área de memoria usada por él. La liberación de memoria la realiza el recolector de basura (garbage collector) que es una función de la JVM. El recolector revisa toda el área de memoria del programa y determina que objetos pueden ser borrados porque ya no tienen referencias activas que los apunten. El recolector de basura actua cuando la JVM lo determina (tiene un mecanismo de actuación no trivial). 4/12/2017

Tiempo de Vida II El método finalize es invocando por la JVM antes de liberar la memoria por el recolector de basura, o antes de terminar la JVM. No existe un momento concreto en que las áreas de memoria son liberadas, sino que lo determina en cada momento la JVM en función de sus necesidades de espacio. 4/12/2017

OBJETOS & CLASES Clases Las clases son el mecanismo por el que se pueden crear nuevos Tipos en Java. Las clases son el punto central sobre el que giran la mayoría de los conceptos de la Orientación a Objetos. Una clase es una agrupación de datos y de código que actúa sobre esos datos, a la que se le da un nombre.  4/12/2017

Clase II Una clase contiene: Sintaxis general: Datos (se denominan Datos Miembro). Estos pueden ser de tipos primitivos o referencias. Métodos (se denominan Métodos Miembro). Sintaxis general: 4/12/2017

Objetos Un objeto es una instancia (ejemplar) de una clase. La clase es la definición general y el objeto es la materialización concreta (en la memoria del ordenador) de una clase. El fenómeno de crear objetos de una clase se llama instanciación 4/12/2017

Objetos II Los objetos se manipulan con referencias. Una referencia es una variable que apunta a un objeto. Las referencias se declaran igual que las variables de Tipos primitivos (tipo nombre). Los objetos se crean (se instancian) con el operador de instanciación new. La referencia no apunta a ningún sitio. A los miembros de un objeto se accede a través de su referencia usando el operador “.”. La sintaxis es: nombre_referencia.miembro Ejemplo: Punto p; p = new Punto(); Punto q = new Punto(); //MIEMBROS p.x = 1; p.y = 3; 4/12/2017

Excepciones Java tiene mecanismos para excepciones que permiten ver qué excepción se ha producido e intentar recuperarse de ella  La palabra clave finally define un bloque de código que se quiere que sea ejecutado siempre, de acuerdo a si se capturó la excepción o no. Se pueden definir excepciones propias, no hay por qué limitarse a las predefinidas; bastará con extender la clase Exception y proporcionar la funcionalidad extra que requiera el tratamiento de esa excepción. También pueden producirse excepciones no de forma explícita, sino de forma implícita cuando se realiza alguna acción ilegal o no válida. 4/12/2017

Excepciones II Las excepciones, pueden originarse de dos modos: el programa hace algo ilegal (caso normal), o el programa explícitamente genera una excepción ejecutando la sentencia throw (caso menos normal). La sentencia throw tiene la siguiente forma: throw ObtejoExcepction; El objeto ObjetoException es un objeto de una clase que extiende la clase Exception.Las excepciones predefinidas, como ArithmeticException, se conocen como excepciones runtime. Actualmente, como todas las excepciones son eventos runtime, sería mejor llamarlas excepciones irrecuperables. Esto contrasta con las excepciones que generamos explícitamente, que suelen ser mucho menos severas y en la mayoría de los casos podemos recuperarnos de ellas. 4/12/2017

Excepciones III Excepciones Comunes NullPointerException ArithmeticException Las excepciones aritméticas son típicamente el resultado de una división por 0: int i = 12 / 0; NullPointerException Se produce cuando se intenta acceder a una variable o método antes de ser definido: class Hola extends Applet { Image img; paint( Graphics g ) { g.drawImage( img,25,25,this ); } 4/12/2017

Excepciones IV IncompatibleClassChangeException El intento de cambiar una clase afectada por referencias en otros objetos, específicamente cuando esos objetos todavía no han sido recompilados. ClassCastException El intento de convertir un objeto a otra clase que no es válida. y = (Prueba)x; // donde x no es de tipo Prueba 4/12/2017

Excepciones V NegativeArraySizeException Puede ocurrir si hay un error aritmético al intentar cambiar el tamaño de un array. OutOfMemoryException El intento de crear un objeto con el operador new ha fallado por falta de memoria. Y siempre tendría que haber memoria suficiente porque el garbage collector se encarga de proporcionarla al ir liberando objetos que no se usan y devolviendo memoria al sistema.   NoClassDefFoundException Se referenció una clase que el sistema es incapaz de encontrar. 4/12/2017

Excepciones VI ArrayIndexOutOfBoundsException UnsatisfiedLinkException Es la excepción que más frecuentemente se produce. Se genera al intentar acceder a un elemento de un array más allá de los límites definidos inicialmente para ese array. UnsatisfiedLinkException Se hizo el intento de acceder a un método nativo que no existe. Aquí no existe un método a.kk class A { native void kk(); } y se llama a a.kk(), cuando debería llamar a A.kk(). 4/12/2017

Capturación de Excepciones Cualquier método que lance una excepción también debe capturarla, o declararla como parte de la interface del método. Las excepciones no simplifican el trabajo del control de errores. Tienen la ventaja de que se puede tener muy localizado el control de errores y no tenemos que controlar millones de valores de retorno, pero no van más allá. Las excepciones lanzadas por un método que pueda hacerlo deben recoger en bloque try/catch o try/finally. 4/12/2017

Capturar Excepciones II try Es el bloque de código donde se prevé que se genere una excepción. El bloque try tiene que ir seguido, al menos, por una cláusula catch o una cláusula finally catch Es el código que se ejecuta cuando se produce la excepción.. En este bloque tendremos que asegurarnos de colocar código que no genere excepciones. Se pueden colocar sentencias catch sucesivas, cada una controlando una excepción diferente. No debería intentarse capturar todas las excepciones con una sola cláusula. 4/12/2017

Capturar Excepciones III Se pueden controlar grupos de excepciones, es decir, que se pueden controlar, a través del argumento, excepciones semejantes El operador instanceof se utiliza para identificar exactamente cual ha sido la identidad de la excepción. 4/12/2017

Capturar Excepciones IV finally Es el bloque de código que se ejecuta siempre, haya o no excepción. Hay una cierta controversia entre su utilidad, pero, por ejemplo, podría servir para hacer un log o un seguimiento de lo que está pasando, porque como se ejecuta siempre puede dejarnos grabado si se producen excepciones y nos hemos recuperado de ellas o no. Este bloque finally puede ser útil cuando no hay ninguna excepción. Es un trozo de código que se ejecuta independientemente de lo que se haga en el bloque try. 4/12/2017

Propagación de Excepciones La cláusula catch comprueba los argumentos en el mismo orden en que aparezcan en el programa. Si hay alguno que coincida, se ejecuta el bloque y sigue el flujo de control por el bloque finally (si lo hay) y concluye el control de la excepción. Si ninguna de las cláusulas catch coincide con la excepción que se ha producido, entonces se ejecutará el código de la cláusula finally (en caso de que la haya). Lo que ocurre en este caso, es exactamente lo mismo que si la sentencia que lanza la excepción no se encontrase encerrada en el bloque try. 4/12/2017