Java en 2 horas. Rodrigo Santamaría

Documentos relacionados
Java en 2 horas. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Programación Orientada a Objetos en Java

INTRODUCCION A LA PROGRAMACION EN JAVA

Lenguajes de Programación 2 Introducción a Java

Tema 1. Introducción a JAVA

4/14/2010. Objetivos. Que es JAVA. JAVA como plataforma. Reglas Sintácticas y de Codificación Básicas de JAVA

Introducción al lenguaje de programación java

INTRODUCCIÓN A JAVA. Índice

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Programación Interactiva Introducción a Java. Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle

TEMA 2. Agenda. Fundamentos de JAVA

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Repaso de las características más importantes de la programación Java y su adaptación a Android

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Seminario de Java. Contenido

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

1. HISTORIA 2. QUÉ ES JAVA? 3. DESCARGA 4. INSTALACIÓN EN WINDOWS 5. MI PRIMER PROGRAMA

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

JAVA PARA PRINCIPIANTES

Programación en Java. Temario. David Contreras Bárcena

JAVA 7 Los fundamentos del lenguaje Java

Concurso: Cuánto sabes de JAVA?

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005)

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Lenguaje Orientado por Objetos Simple, Poderoso y Fácil de aprender Robusto Interactivo Arquitectura neutral Interpretado y de alto desempeño

Introducción a Java. Introducción a Java. Programación I

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Objetivos y Temario CURSO JAVA 7

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Construcciones del Lenguaje Java

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

Unidad I. Introducción al Lenguaje Java. Ing. José Luis Llamas Cárdenas

El lenguaje de programación Java


Programación orientada a objetos

Introducción a la Programación en Java. Page 1

Guía práctica de estudio 01: Entorno y lenguaje de programación

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java. Introducción a Java Daniel Finol

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

(volver a Tabla de Contenidos)

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

Definición. Mónica E. García García Feb 07

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Arquitecturas cliente/servidor

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Iniciación a Java. 1.Introducción a Java 2.Programación Orientada a Objetos 3.Fundamentos del lenguaje Java

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Programar un Forma de Pensar: Introducción a la OOP en Java. Ing. Sergio Antonio Pino Gallardo Ing. Irene Lizeth Manotas Gutierrez

Ubicación e historia

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

U.T.4.EL ENTORNO DE DESARROLLO

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Curso de Java POO: Programación orientada a objetos

Derechos de Acceso: COMPOSICION

Características generales del lenguaje Java. María a Consuelo Franky

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Arquitectura y Lenguaje Java

Tema: Introducción a Java y Netbeans

Programador en Plataforma Java y XML

18. Interfaces Declaración de una interfaz

Temario Iniciación a Java J2SE para web

Programación orientada a objetos

Java y Herramientas de Desarrollo Sesión 1: Lenguaje Java y Entorno de Desarrollo

Elementos léxicos del lenguaje de programación Java

Lenguaje de programación con JAVA

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Tema 2: La Tecnología Java

Java es el lenguaje de programación que

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Pruebas de unidad con JUnit

Tema 1: Principios de Java

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Java Inicial (20 horas)

Programación interactiva. Oscar Bedoya

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Java. Mtro. Manuel Suárez Gutiérrez

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Como crear una aplicación con Java y Eclipse Fecha Lunes, 16 abril a las 19:49:51 Tema Java

Modelo de Objetos Distribuidos

Introducción al lenguaje Java

Hola Mundo en Java 1.5 en Windows XP - DrJava

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

Transcripción:

Java en 2 horas Rodrigo Santamaría

Generalidades 2 Desarrollado por Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión interna de la reserva de memoria Desde 2007, el Java de Sun es software libre en 1995 Salvo las bibliotecas de clases para ejecutar programas java (OpenJDK) IcedTea es una versión de la OpenJDK totalmente libre

Java: popularidad

4 Bytecode Un programa Java no se compila a código de la máquina, si no a bytecode Código intermedio entre el código máquina y el lenguaje de alto nivel que permite que un programa Java corra en distintas plataformas sin recompilar Tan sólo es necesario tener instalada la Máquina Virtual de Java (JVM), que se encarga de ejecutar las instrucciones del bytecode

5 JRE y JDK Java Runtime Environment (JRE) Contiene la JVM en su versión más simple Suele incluir las bibliotecas de clases estándar (API de Java, o J2SE, hoy Java Standard Edition o JSE) Vamos por la versión JSE 9 Java Development Kit (JDK) JRE para desarrollar programas java API de Java (código fuente libre) Compilador de Java (javac), generador de documentación (javadoc), visor de applets, depurador, etc.

6 Hola Mundo clase método class Hola public static void main(string[] args) System.out.println("Hola, mundo."); javac Hola.java java Hola Tipos básicos como en C

7 Sintaxis básica Control de flujo Tipos básicos Arrays Operadores aritmético-lógicos Formato de cadenas: variables entre texto Idéntico a C String cad= hola, nombre, buenos días ; package, class, public, private, extends, implements, this... Palabras clave particulares:

Entornos de Desarrollo Integrado (IDE) Integran bibliotecas, compilador, intérprete, depurador, editor y otros complementos en un solo entorno: Netbeans Eclipse IntelliJ IDEA Anjuta En esta asignatura utilizaremos Eclipse Es gratuito y con licencia de software libre (EPL) Tiene una instalación limpia, disponible en el aula Ampliaciones (plugins) para desarrollo web 8

9 Paquetes y Clases Paquete: contenedor de clases (carpeta) Convención: en minúscula Clase: contenedor de métodos y atributos (fichero) en mayúscula package introduccion class Hola... introduccion Hola.java paquete2 dentro de paquete1: paquete1.paquete2

10 Clases y objetos Clase: diseño abstracto de un concepto Define atributos (variables de la clase) Define métodos (operaciones de la clase) Objeto: cada instancia concreta de la clase Permite dar valor a los atributos Permite ejecutar los métodos

11 Clases y Objetos clase public class Coche float velocidad; int numpuertas; String color; public Coche(int numpuertas, float velocidad, String color) this.velocidad=velocidad; this.numpuertas=numpuertas; this.color=color; public int getnumpuertas() return numpuertas; public void acelerar(int nuevavelocidad) if(nuevavelocidad>velocidad) velocidad=nuevavelocidad; import Coche objeto public class Main public static void main(string [] args) Coche miferrari=new Coche(3,0, rojo ); System.out.println( Mi coche tiene " miferrari.getnumpuertas() puertas ); miferrari.acelerar(100);

12 Variables y atributos Alcance public class Ejemplo int m; //atributo public static void main(string args[]) if(args.length==0) System.err.println("Error"); //... public int cuadrado() return m*m; public int operacion() int n=33; //variable n=m*n; //... return n; //... Un atributo puede usarse en toda la clase, salvo en métodos estáticos. m n Una variable sólo en el espacio desde su declaración hasta el final del método.

13 Privacidad public: accesible desde fuera y dentro de la clase private: accesible sólo desde la clase protected (por defecto) accesible desde dentro de la clase o de clases hijas Atendiendo a la modularidad, es recomendable que los atributos de una clase sean privados o protegidos. Atendiendo a la claridad de código y eficiencia de recursos, los atributos públicos pueden ser útiles.

14 Herencia Constructor por defecto ~ super() Vehículo Coche Moto

15 Polimorfismo public class Coche extends Vehiculo implements Cloneable public Coche(int numpuertas, int velocidad, String color) this.velocidad=velocidad; this.numpuertas=numpuertas; this.color=color; this.numruedas=4; public Coche(String color) this.velocidad=0; this.numpuertas=3; this.color=color; this.numruedas=4; public Coche() this.velocidad=0; this.numpuertas=3; this.color="negro"; this.numruedas=4; Varios métodos con el mismo nombre, siempre que los parámetros sean distintos

16 Métodos estáticos public class Coche extends Vehiculo public Coche(int numpuertas, int velocidad, String color) this.velocidad=velocidad; this.numpuertas=numpuertas; this.color=color; this.numruedas=4;... public static String getautordelaclase() return "Rodrigo Santamaría"; En un método estático no podemos hacer uso de atributos o métodos no estáticos public class Main public static void main(string [] args) System.out.println("Autor de la clase Coche: " Coche.getAutorDeLaClase());...

17 Gestión de la memoria Reserva de memoria explícita (new) Liberación automática (garbage collector) Detecta objetos no utilizados/accesibles y los borra Puede reducir el rendimiento Solicitud explícita con System.gc(); Asignación de objetos por referencia Para asignación por valor: coche1=coche2.clone(); Sólo si Coche implementa Cloneable Y redefine el método clone() public Object clone() Coche obj=new Coche(); obj.numpuertas=this.numpuertas; obj.velocidad=this.velocidad; obj.color=this.color; return obj;

18 Control de Errores El método indica qué excepciones pueden ocurrirle Y cuando ocurren, las lanza Al usar métodos que pueden lanzar excepciones, deben estar en una sección try/catch, de forma que si se producen, las detectemos y gestionemos correctamente

19 Serialización

20 Concluyendo... Organización en: paquetes, clases y objetos atributos y métodos Programación Orientada a objetos: modularidad, herencia, polimorfismo Gestión sencilla de memoria, errores, I/O Multiplataforma (bytecode máquina virtual) Sofware libre API oficial Multitud de paquetes desarrollados

21 Documentación Tutorial: http://java.sun.com/docs/books/tutorial/index.html Documentación: http://java.sun.com/javase/8/docs/api Paquetes en la red para todo tipo de propósitos

22 Ejercicio Definir una clase Fruta y las clases hijas Naranja y Manzana. Deben tener los atributos genéricos peso, en kilos (atributo real) hechazumo, falso por defecto (atributo lógico) La manzana debe tener también el atributo entero numpepitas Deben tener los métodos siguientes Constructor por defecto y constructor que permita al usuario iniciar todos los atributos Un método hacerzumo() que modifique el estado de la fruta si hechazumo es falso.

23 Ejercicio Definir una clase Principal que: Instancie dos frutas, una manzana y una naranja Nos diga el peso de la manzana Haga zumo de naranja Tratamiento de errores El método hacerzumo debe lanzar una excepción si se intenta hacer zumo de una fruta ya exprimida La clase Principal debe capturar la excepción y avisar al usuario

24 Ejercicio cont. Serialización La clase Fruta debe implementar un método congelar(string lugar) que guarde la fruta en la ruta especificada por lugar Para ello deberá implementar la interfaz Serializable Utilizar el método para guardar el zumo de naranja en el fichero helado dentro de la carpeta nevera

25

26 Duke, la mascota de Java