El Lenguaje Java Taller de Sistemas de Programas Sandra Zabala, Marilenis Olivera Ivette...

Click here to load reader

  • date post

    23-Jan-2016
  • Category

    Documents

  • view

    212
  • download

    0

Embed Size (px)

Transcript of El Lenguaje Java Taller de Sistemas de Programas Sandra Zabala, Marilenis Olivera Ivette...

  • El Lenguaje JavaTaller de Sistemas de Programas

    Sandra Zabala, Marilenis OliveraIvette Martnez, Pedro Garca

  • Qu es Java?Un lenguaje de programacin Orientado por Objetos desarrollado por Sun MicrosystemsUna mquina virtual (ambiente de ejecucin) que puede ser embebido en navegadores del web y diversos sistemas operativosUn conjunto estandarizado de libreras de Clases.

  • Por qu Java?Es independiente de la plataformaEs Orientado por ObjetosPequeo -> Fcil de aprenderSeguroRobustoPermite recursinMulti-Thread

  • SintaxisMuy similar a C/C++Fcil de aprenderPocos conceptosNo aritmtica de apuntadoresNo structs, typedef ni #defineNo se necesita liberar memoriaNo core dumps (Fallas de acceso a memoria)

  • IdentificadoresSon case sensitive Los identificadores de clases comienzan con maycula.Los identificadores de variables y mtodos comienzan con minsculas.Si el identificador tiene ms de 2 palabras, de la segunda en adelante comienzan con mayscula.

  • Tipos Simplesboolean (1bit)byte (8 bits, con signo)char (16 bits, sin signo, UNICODEshort (16 bits, con signo)int (32 bits, con signo)

  • Tipos Simples (cont.)long (64 bits, con signo)float (32 bits, IEEE 754)double (64 bits, IEEE 754)

  • Ms sobre tiposboolean es realmente un tipo, no es un enteronull es una palabra clavelos enteros no son apuntadoresChequeo adicional de tipos -> Es fuertemente tipeado.

  • Declaracin de variables y constantesTodas las variables y constantes deben ser declaradas antes de su usoPara declarar constantes, se utiliza la palabra reservada final. [=] Ej:

  • Operadores: AritmticosBinarios+ Suma- Resta* Multiplicacin/ Divisin% Mdulo

    Unarios+ Positivo- Negativo++ Auto-incremento 1-- Auto-decremento 1

    ** Tanto el ++ como el -- pueden ser prefijos o postfijos

  • Operadores: Relacionales y LgicosRelacionales> Mayor< Menor>= Mayor o igual
  • Operadores: Asignacin+=v += 5 v = v + 5-=v -= 5 v = v - 5*=v *= 5 v = v * 5/=v /= 5 v = v / 5%=v %= 5 v = v % 5No pueden sobrecargarse.

  • Operadores: CastingPermite la conversin de un tipo a otroDesde un tipo pequeo a uno grande provoca prdida de informacin. Sintaxis y ejemplo:(nombre del tipo) valor

    (int) (x/y)

  • Flujo de Controlif (expr) instruccin else instruccinfor (expr; expr; expr) instruccinwhile (expr) instruccindo instruccin while (expr)switch (expr) {}

  • ClasesImplementacin simple de herenciaHerencia mltiple de interfacesInformacin de tipos disponible a tiempo de corridaTodos los mtodos son virtuales o estticosNo hay funciones, slo mtodos.

  • Ejemplo de clasesclass Car{void beep(){System.out.println(beep);}int maxSpeed(){return 55;}}

    class Porsche extends Car{int maxSpeed(){return 200;}}

  • Ejemplo de clases (cont.)Car c = new Car();Porsche p = new Porsche();

    c.beep();p.beep();

    int s1 = c.maxSpeed();int s2 = p.maxSpeed();

  • ArreglosSon objetosSon dinmicosSe pasan por referenciaSe chequean los lmites

  • Arreglos (cont.)int rgb[] = new int[3];rgb[0] = 255;rgb[1] = 100;rgb[2] = 100;

    int avg = sum(avg) / rgb.length;

    int err = rgb[4] //error

  • VectoresImplementan Arreglos de tamao variableConstructoresVector(), Vector(n), Vector(n,m); donde n es la capacidad y m el incremento de la capacidadaddElement();contains(Object); indexOf(Object);elementAt(int); setElementAt(Object, int);

  • StringsLos Strings son objetos16 bits UNICODESystem.out.println (Hello World);

    String hello = Hello;String world = World;System.out.println (hello + + world);

    int len = hello.length;String str = hello.substring(1,len);System.out.println(j + str);

    char ch = hello.charAt(0);

  • InterfacesDefinen una interfaz que una clase debe implementarUna clase puede implementar varias interfaces

  • Interfaces (cont.)interface Imprimible{void imprimir();}

    class Cosa implements Imprimible{void imprimir(){System.out.println(Cosa);}}

  • Lista Imprimiblevoid imprimirTodo(Imprimible list{for (int i = 0 ; i < list.length; i++){ list[i].imprimir();}

    Imprimible lista[] = {new Cosa(),new OtraCosa()}

    imprimirTodo(lista);

  • Modificadores de Accesopublic - Cualquiera puede tener accesoprotected - Slo pueden tener acceso las subclasesprivate - Slo puede tener acceso la clase misma.El acceso por defecto es por cualquier clase en el mismo paquete (package).

  • Restringiendo el acceso a las variablesclass Punto{private int x, y;public Punto(int x; int y){this.x = x;this.y = y;}public getX(){return x;}public getY(){return y;}}

  • PaquetesPermiten agrupar clases e interfaces. Los nombres son palabras separadas por puntos y se almacenan en directorios que coinciden con esos nombres.Ejemplo:Los archivos Applet.java, AppletContext.java, AppletStub.java, AudioClip.java tienen la siguiente lneapackage java.lang.applet

  • PaquetesSe cargan con la palabra importimport java.Date;import java.awt.*; Si un archivo no pertenece a un paquete se coloca en el mismo directorio y se carga con la sentenciaimport MiClase

  • PaquetesJava.lang - Object, Thread, Exception, String, System, Number, java.util - Hashtable, Vector, BitSet, Date, Cache, java.io - InputStream, OutputStream, BufferedInputStream, PrintStream, java.tools - Compilation, Debuggin, Documentation, Profiling,NetworkingAbstract window toolkit

  • Manejo de ErroresSoportado mediante excepciones.El modelo usado es el de C++.Try{a = 10; b = 0;result = a/b;return result;}catch (ArithmeticException e){System.out.println(Divisin por cero);return -1;}finally{System.out.println(Siempre se ejecuta);}

  • Manejo de ErroresGeneracin de excepciones:Implcita: El programa hace algo ilegalExplcita: throwthrow ObjetoExcepcion;

    class ExcepcionLimiteDeVelocidad extends Exception{}

    try{if (velocidad > 300)throw ExcepcionLimiteDeVelocidad;}catch(ExcepcionLimiteDeVelocidad e){System.out.println(Vas muy rpido);return;}

  • Manejo de ErroresExcepciones PredefinidasArithmeticExceptionNullPointerExceptionClassCastExceptionNegativeArraySizeExceptionOutOfMemoryExceptionArrayIndexOutOfBoundsException...

  • Haciendo que funcione...Para compilar: javacclass prueba{public static void main(String args[]){}}Para ejecutar: javaDocumentacin automtica: javadoc

  • Tags de javadoc

    Tag

    Descripcin

    Aplica a

    @see

    Nombre de clase asociada

    Clases, mtodos o variables

    @author

    Nombre del autor

    Clases

    @version

    Versin

    Clases

    @param

    Nombre y descripcin del parmetro

    Mtodos

    @return

    Descripcin del valor de retorno

    Mtodos

    @exception

    Nombre y descripcin de la excepcin.

    Mtodos