tutoría1-824-cap1-3_ver3

Upload: fuentes-catalina

Post on 11-Oct-2015

10 views

Category:

Documents


0 download

TRANSCRIPT

  • Curso: 824 Programacin Intermedia / Java

    1 UNED Programacin Intermedia JAVA

    Prof. Jorge Ahas C.

  • Java fue desarrollado por SunMicrosystems, empresa que fue adquirida por Oracle en abril del 2009.

    Actualmente est disponible la versin 7.

    Una de las ventajas de java, es que fue ejecutarse prcticamente en cualquier plataforma.

    UNED Programacin Intermedia JAVA 2

  • Establecer un directorio de trabajo, donde estarn los archivos generados.

    Tener instalado el ambiente de desarrollo de Java (JDK) y haberlo referenciado en el PATH de la computadora.

    Utilizar un editor de texto o una herramienta de desarrollo (IDE) para Java como Jcreator, Netbean, Eclipse, Jboss Studio.

    UNED Programacin Intermedia JAVA 3

  • UNED Programacin Intermedia JAVA 4

    Figura 1. Proceso de ejecucin de un programa en Java Fuente: (Oracle, 2011)

  • UNED Programacin Intermedia JAVA 5

    Figura 2. Uso de la Mquinas Virtuales de Java Fuente: (Oracle, 2011)

  • Una caracterstica muy importante de java, es que para su ejecucin requiere de una JVM. Cuando uno hace un programa y este se compila, el cdigo generado no est hecho en el sistema operativo particular donde se compil(se genera un cdigo neutro). Se requiere de una JVM que interpreta el cdigo java y lo traduce al cdigo de mquina del sistema operativo real a la hora de ejecutarlo. Esto significa que un mismo programa puede correr en muchas plataformas.

    El JVM es parte del JDK

    UNED Programacin Intermedia JAVA 6

  • Java es un lenguaje de programacin de alto nivel orientado a objetos, desarrollado por Sun Microsystems a principios de los aos noventa. Su sintaxis es similar a la de C y C++. Actualmente pertenece a Oracle. La diferencia ms significativa entre ambos lenguajes es que en el caso de Java, trabajaremos con el modelo orientado a objetos.

    UNED Programacin Intermedia JAVA 7

  • import java.io.*;

    /*

    Primer ejemplo de una clase java

    Imprimir una linea.

    @author Jorge Ahas Calvo

    * @version 03/junio/2012

    */

    public class PrimerEjemplo {

    //Metodo main para iniciar la aplicacin.

    public static void main(String [] args){

    System.out.println("Este es mi primer programa java");

    } //Fin metodo main

    } //Fin clase PrimerEjemplo

    UNED Programacin Intermedia JAVA 8

  • Es fundamental comprender y aplicar el paradigma de Programacin orientada a objetos (POO) La POO no es un lenguaje de programacin y, por ende, no es exclusivo de Java. Podemos utilizar POO para desarrollos en C++, .NET , pues se refiere a una forma de programar, de plantear las soluciones para los problemas o requerimientos

    UNED Programacin Intermedia JAVA 9

  • La programacin estructurada anima al programador a pensar sobre todo en trminos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programacin estructurada solo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por s mismos.

    UNED Programacin Intermedia JAVA 10

  • Abstraccin: denota las caractersticas esenciales de un objeto, as como sus comportamientos. Por ejemplo el ser humano, caractersticas comunes cabeza, brazo(s), pierna(s). Comportamientos todos respiran, comen, etc. Mediante la abstraccin, se definen los mtodos y atributos suficientes y necesarios para reconocer un objeto como miembro o no de una clase.

    UNED Programacin Intermedia JAVA 11

  • Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin, es decir las caractersticas(atributos) y comportamientos (mtodos). Ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cmo pueden interactuar con los objetos de la clase. Yo utilizo un elemento sin importarme cmo est hecho.

    UNED Programacin Intermedia JAVA 12

  • Si observamos en el mundo real existen muchos objetos. Los reconocemos porque cada uno pertenece a una clase, que es una descripcin de caractersticas generales compartidas. Por lo tanto, un objeto, o tambin llamado instancia, es uno de los miembros especficos de una clase. Los objetos en la vida real tienen 2 elementos generales:

    Estado: un perro (raza, color, nombre) Comportamiento: un perro (ladrar, caminar)

    Al igual que los objetos de la vida real, los objetos en el software tienen tambin 2 elementos. Estado: llamados atributos Comportamiento: llamados mtodos

    UNED Programacin Intermedia JAVA 13

  • Entonces la clase es la representacin en software de todos las caractersticas y comportamientos compartidas por un grupo de objetos. Por ejemplo la clase cuenta, la clase bicicleta, la clase auto, etc.

    UNED Programacin Intermedia JAVA 14

  • public class Cuenta { long numero; String titular; Atributos float saldo; float interesAnual; void ingreso(float cantidad) {} void reintegro(float cantidad) {} void ingresoInteresMes(){} boolean enRojos(){} Mtodos float leerSaldo(){} }

    UNED Programacin Intermedia JAVA 15

  • import java.io.*;

    /*

    Primer ejemplo de una clase java

    Imprimir una linea.

    @author Jorge Ahas Calvo

    * @version 03/junio/2012

    */

    public class PrimerEjemplo {

    //Metodo main para iniciar la aplicacin.

    public static void main(String [] args){

    System.out.println("Este es mi primer programa java");

    } //Fin metodo main

    } //Fin clase PrimerEjemplo

    UNED Programacin Intermedia JAVA 16

  • En general Utilice indentacin y lneas en blanco para mejorar la legibilidad. Java es sensible a las maysculas.

    Palabras clave o reservadas

    Se escriben en minscula y son utilizadas exclusivamente por Java.

    Clases Es conveniente que inicien con un comentario descriptivo. Por convencin el nombre debe iniciar con mayscula y si est

    compuesta por varias palabras, cada una debe iniciar con mayscula. Por ejemplo: PrimerPrograma

    El identificador de la clase (nombre) puede contener: letras, dgitos, guin bajo (_) y signos de moneda.

    El identificador de clase NO puede contener: espacios en blanco, ni iniciar con un dgito.

    UNED Programacin Intermedia JAVA 17

  • Los bloques de cdigo estn encerrados entre llaves { }

    Los comentarios pueden ser de tres clases: // Para una sola lnea de comentarios /* */ Para varias lneas de comentarios /** */ Para comentarios utilizados por javadoc

    Cada sentencia de cdigo es finalizada por ; Los argumentos en un mtodo se separan por ,

    UNED Programacin Intermedia JAVA 18

  • Variables Con convencin sus nombres inician con minscula. Es mejor si cada una se declara en lneas separadas. Su nombre debe ser representativo de su funcin. Tipos: int, double, char, String Ejemplos: int numero;

    double monto;

    Constantes El identificador de constante se declara con mayscula.

    static final double PI = 3.141592;

    UNED Programacin Intermedia JAVA 19

  • Aritmticos (en orden de precedencia) * multiplicacin, / divisin, % mdulo + suma, - resta

    Lgicos > < = mayor que, menor que, mayor igual, menor igual == != igual que, diferente que & | ! AND, OR, NOT

    UNED Programacin Intermedia JAVA 20

  • System.out.print(Texto\n); Despliega en pantalla la hilera Texto y cambia de lnea. \t tabulador

    System.out.println(Texto); Igual que el anterior, despliega en pantalla la hilera Texto y

    cambia de lnea.

    System.out.printf(%d %s\n, n, h); Despliega una hilera con formato, los valores de las variables n y

    h, un nmero y una hilera respectivamente.

    UNED Programacin Intermedia JAVA 21

  • import java.util.Scanner; Clase Scanner Las declaraciones import deben estar ANTES de la declaracin

    de la clase.

    Scanner entrada = new Scanner( System.in ); As como el objeto de salida System.out permite mostrar

    informacin al usuario, System.in permite a las aplicaciones de Java leer la informacin escrita por el usuario.

    numero1 = entrada.nextInt(); Lee el primer nmero del usuario

    UNED Programacin Intermedia JAVA 22

  • import java.util.Scanner;

    // Segundo ejemplo programa java

    public class SegundoEjemplo {

    public void primerMetodo(){

    System.out.print("Este es mi segundo programa java");

    System.out.println(" Uso de comando print,println y printf");

    System.out.printf("%04d %5.2f %25s",02,4522.3," Impresion de encabezado");

    }//fin primerMetodo

    public void segundoMetodo(){

    Scanner pantalla = new Scanner(System.in);

    int entero1;

    System.out.print("\nDigite un entero = ");

    entero1=pantalla.nextInt();

    System.out.println("Numero = "+ entero1);

    } //fin segundoMetodo

    }// fin clase SegundoEjemplo

    // Ejecutar Segundo ejemplo programa java

    public class EjecutarSegundoEjemplo {

    public static void main(String [] args){

    SegundoEjemplo prueba = new SegundoEjemplo();

    prueba.primerMetodo();

    prueba.segundoMetodo();

    } //Fin metodo main

    }// fin EjecutarSegundoEjemplo

    UNED Programacin Intermedia JAVA 23

  • UNED Programacin Intermedia JAVA 24

    En misma clase Otra clase del

    mismo paquete

    Subclase de otro

    paquete

    Otra clase de

    otro paquete

    public X X X X

    protected X X X

    default X X

    private X

  • Un constructor es un tipo especial de mtodo que permite que un objeto se inicialice con valores definidos para sus datos. No requieren un tipo de retorno, no tiene el void, no tiene modificador.

    El constructor tiene exactamente el mismo nombre que la clase a la cual pertenece; es un mtodo public. Ejemplo:

    public class Prueba { int miCampo; Prueba(int valor) { // constructor miCampo = valor; } // Fin constructor } // Fin clase Prueba

    UNED Programacin Intermedia JAVA 25

  • public class Carro {

    String color;

    String modelo;

    String marca;

    int veloc = 0;

    Carro(){}

    public Carro(String colorS,String modeloS, String marcaS){

    color = colorS;

    modelo = modeloS;

    marca = marcaS;

    }

    public void frenar(int decremento){

    veloc = veloc - decremento;

    }

    public void acelerar(int incremento){

    veloc = veloc + incremento;

    }

    public void imprimirEstados() {

    System.out.println("carro+"= Modelo:"+ modelo + " Velocidad: " + veloc + " Marca: " +

    marca);

    }

    }

    /*

    Clase EjecutarCarro

    */

    public class EjecutarCarro {

    public static void main(String [] args){

    Carro carro1 = new Carro();

    carro1.imprimirEstados("Carro1");

    Carro carro2 = new Carro("Blanco","2010", "Nissan Almera");

    carro2.acelerar(20);

    carro2.imprimirEstados("Carro2");

    }

    }

    UNED Programacin Intermedia JAVA 26

  • Una excepcin es un evento que se produce durante la ejecucin de un programa, que interrumpe el flujo normal de la sinstrucciones del programa. Si no manejamos apropiadamente estas excepciones se detiene abruptamente lo que estamos ejecutando. Para evitar que un programa no se detenga a pesar de que suceda un error, existen una serie de instrucciones que nos permite controlar estas situaciones

    UNED Programacin Intermedia JAVA 27

  • El manejo de excepciones en Java es dirigido por cinco palabras clave: try: bloque para capturar excepciones. catch: manejador para capturar excepciones de los bloques try. throw: expresin para levantar excepciones. throws: indica las excepciones que puede elevar un mtodo. finally: bloque de cdigo a ser ejecutado luego de salir de try.

    UNED Programacin Intermedia JAVA 28

  • El ncleo de manejo de excepciones son los bloques try y catch. Estos bloques deben ir juntos, no hay bloque catch sin un try. Pueden existir mas de un bloque catch para un try

    UNED Programacin Intermedia JAVA 29

  • try { instrucciones instrucciones para adquirir recursos } // Fin del bloque try catch ( UnTipoDeExcepcion exception1 ) { instrucciones para manejar excepciones } // Fin del bloque catch catch ( OtroTipoDeExcepcion exception2 ){ instrucciones para manejar excepciones } // Fin del bloque catch finally { instrucciones instrucciones para liberar recursos } // Fin del bloque finally

    UNED Programacin Intermedia JAVA 30

  • UNED Programacin Intermedia JAVA 31

  • UNED Programacin Intermedia JAVA 32

  • Proceso: Si ocurre una excepcin dentro de un bloque try,sta es lanzada y atrapada por un bloque catch,el cual permite manejar la excepcin. Finalmente cualquier cdigo que deba ser ejecutado despus de haber salido de un bloque tryse coloca en un bloque finally. Si no es lanzada una excepcin dentro de un bloque try, este termina normalmente y todas las sentencias catchson omitidas. Para lanzar manualmente una excepcin se utiliza throw.

    UNED Programacin Intermedia JAVA 33

  • Algunos ejemplos de excepciones ArrayIndexOutOfBoundsException: Desbordamiento en arreglos. IOException: Error de E/S. ArithmeticException: Error en operacin aritmtica. Las excepciones son clases que derivan de la superclase Throwable, por lo tanto si no se conoce que excepcin fue lanzada se debe utilizar esta excepcin: catch(Throwablee)

    UNED Programacin Intermedia JAVA 34

  • import java.util.Scanner;

    public class Promedio1 {

    public float calcular()throws Exception{

    Scanner pantalla = new Scanner(System.in);

    float monto;float suma=0; int total=0;String continuar="S";

    //manejo excepciones.

    try{

    while (continuar.equals("S") || continuar.equals("s"))

    {

    System.out.print("Digite un monto = ");

    monto=pantalla.nextFloat();

    suma=suma+monto;

    total++;

    System.out.print("Digite S o s si desea continuar = ");

    continuar=pantalla.next();

    }//FIN WHILE

    return suma / total;

    }

    catch (Exception e)

    {

    throw new Exception("Error en calcular()",e);

    }

    }

    }// Fin clase Promedio1

    //Ejecutar clase Promedio

    import java.util.Scanner;

    public class EjecutarPromedio1 {

    public static void main(String [] args){

    try{

    Promedio1 prueba = new Promedio1();

    prueba.calcular();

    }

    catch (Exception e)

    {

    System.out.println("Mensaje error="+e.getMessage());

    e.printStackTrace();

    }

    }

    }

    UNED Programacin Intermedia JAVA 35

  • 36 UNED Programacin Intermedia JAVA